Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Vision / Workflow:

Ideally, the SIS vendors will implement a real-time (versus batch) identity solution in their software which will allow district/school staff to review matches as they add staff (instead of having to review after a batch upload).

IMPORTANT: Anytime more than one possible match is returned, DO NOT automate the selection of a WISEid based on score or other logic. An LEA user needs to be presented with the possible matches and then manually selectselected.

Expand
titleClick here to see workflow:

Find:

  • If found:

    • If the result is a staff type:

      • If the staff is in the district:

        • Post /staffSectionAssociation

      • If the staff is not in the district:

        • Post /staffEdOrgEmploymentAssociation, /staffSchoolAssociation & /staffSectionAssociation

    • If the result is a student type:

      • Post /staff, /staffEdOrgEmploymentAssociation, /staffSchoolAssociation & /staffSectionAssociation

  • If not found:

    • Follow the Search process below.

Search:

  • If found:

    • If the result is a staff type:

      • If the staff is in the district:

        • Post /staffSectionAssociation

      • If the staff is not in the district:

        • Post /staffEdOrgEmploymentAssociation & /staffSectionAssociation

      • If the result is a student type:

        • Post /staff, /staffEdOrgEmploymentAssociation, & /staffSectionAssociation

    • If not found:

      • Create in Identity

      • /staff, /staffEdOrgEmploymentAssociation, & /staffSectionAssociation

The ideal real-time workflow would be:

  1. When having end-users add a WISEid in SIS first verify they have all WISEid required fields of Local Person ID,  First Name, Last Name, Birthdate, Gender, Race/Ethnicity – if a required field is missing, then don’t allow them to continue further and prompt the user to supply missing fields to proceed.

  2. If the Person has Multiple Birth Status = Y, and there is no WISEid in your system, then end-users should always go to a real-time match review screen to pick possible options or create a new WISEid from data (SIS should not rely on auto-matching when Multiple Birth Status = Y).

  3. If no possible match result is found from the /identities and Multiple Birth Status ≠ Y, then do a CREATE of a new WISEid.

  4. If only one record is returned as a possible match from /identities and Multiple Birth Status ≠ Y, then auto-match

  5. If more than one record is returned from /identities, then the SIS vendor should display a real-time manual match review with all results to allow the LEA to either select a WISEid or opt to create a new WISEid after reviewing and finding no results. 

Potentially the SIS will be doing a batch matching process that mirrors the current WISEid upload processing. Instead of Match Reviews happening in bulk in WISEid they would happen in bulk in the SIS match/review tool.  This option is available since many vendors already have for other states, but in our opinion, that is not the best-recommended practice.  

The ideal batch workflow would be:

  • Verify the record has all WISEid required fields of Local Person ID,  First Name, Last Name, Birthdate, Gender, Race/Ethnicity – if a required field is missing, then don’t allow the records to be processed further.

  • If a Person has Multiple Birth Status = Y, and there is no WISEid in your system, then end-users should always go to match review (SIS should not rely on auto-matching when Multiple Birth Status = Y).

  • If no possible match results from /identities, and Multiple Birth Status ≠ Y, then do a CREATE of new WISEids.

  • If only one record is returned as a possible match from /identities and Multiple Birth Status ≠ Y, then auto-match.

  • If any more than one record is returned from /identities, then the SIS vendor should display results for the LEA to review manually in real-time.
        • :

          • Post /staffEdOrgEmploymentAssociation & /staffSectionAssociation

        • If the result is a student type:

          • Post /staff, /staffEdOrgEmploymentAssociation, & /staffSectionAssociation

      • If not found:

        • Create in Identity

        • /staff, /staffEdOrgEmploymentAssociation, & /staffSectionAssociation

    ...

    Wisconsin Specific Technical Details:

    The first step in creating an identity is to do a search to make sure the identity doesn’t exist already. The search will provide a search key which MUST be provided when doing a create. This is not part of the standard Ed-Fi identity implementation. Additional Wisconsin-specific fields for API requests for each endpoint (GET, FIND, SEARCH, CREATE) are in RED in their respective sections.

    FIND

    Expand

    REQUEST

    • URL: https://apps.dpi.wi.gov/EdFiWebApigoEdFiWebApiV6/identity/v2/20232025/identities/find/

    • HTTP METHOD: POST

    • BODY: UniqueIds(array[string], optional) : An array of UniqueId (aka WiseIds)

    • NOTES:

      • Passing in a list of UniqueIds will perform a search for each one and return a result of 1 or no matches for each UniqueId.

      • 100 UniqueId limit when searching.  If the limit is exceeded, an error message is returned stating the request has exceeded the limit.

    RESPONSE

    • NOTES:

      • The fields in red are specific to WI DPI implementation of Ed-Fi Identity.

      • The fields Email and LocalPersonId will not be returned if your ApiClient Key doesn’t have access to the corresponding district.

      • SearchKey is returned, which is required when using the create endpoint. This serves the purpose of requiring a search before creating a new WISEid person record.

      • The SearchKey is only valid for a create using the same values (FirstName, LastName, Birthdate, etc.)  and with the same API Key/Secret.

      • The SearchKey expires after 10 mins.

      • The find is limited to 100 WISEids

    • BODY:

    IdentitySearchResponse {

    Status (string, optional) = ['Incomplete' or 'Complete'],

    SearchResponses (array[IdentitySearchResponses], optional)

    Responses (array[IdentityResponse], optional)

    UniqueId (string, optional),

    Score (number, optional),

    LastSurname (string, optional),

    FirstName (string, optional),

    MiddleName (string, optional),

    GenerationCodeSuffix (string, optional),

    SexType (string, optional),

    BirthDate (string, optional),

    BirthLocation (Location, optional),

    IsHispanicLatino (bool, option)

    RaceCodes (array[string], option), A, B, I, P, W

    Locals (array(Local), optional),

    educationOrganizationId: 1323,

    localPersonId: string,

    description: string,

    typeDescription: ‘Staff’,

    wiseSecureRoleDescription: ‘Principal/Designee’

    Names (array[Name], optional), other names

    firstName: string,

    middleName: string,

    lastSurname: string,

    suffixDescription: string

    ParentGuardianNames (array[Name], optional),

    staffassignments: [

    schoolYear: 2025,

    localEducationAgencyId: 1323,

    nameOfInstitution: 'Arrowhead UHS School District',

    positionCode: 0000,

    positionDescription: ‘Teacher’,

    areaCode: 005',

    areaDescription: 'Elementary - All Subjects'

    InactiveUniqueIds (array[string], option), Old (duplicate) UniqueIds for the staff which were merged to the current UniqueId }

    EXAMPLE

    REQUEST

    RESPONSE

    • BODY

    Code Block
    languagejson
    {
      "status": 2,
      "searchResponses": [
        {
          "responses": [
            {
              "uniqueId": "7644703248",
              "score": 100,
              "lastSurname": "staff",
              "firstName": "staff",
              "middleName": "",
              "sexType": "F",
              "birthDate": "1969-04-01T00:00:00Z",
              "birthLocation": {},
              "entityid": 17563,
              "racekey": "0007",
              "ishispaniclatino": true,
              "racecode": "I",
              "racecodes": [
                "I",
                "B"
              ],
              "locals": [
                {
                  "educationOrganizationId": 1323,
                  "localPersonId": "ffv",
                  "description": "cds",
                  "typeDescription": "Student",
                  "wiseSecureRoleDescription": "Student"
                },
                {
                  "educationOrganizationId": 1323,
                  "localPersonId": "vfsv",
                  "description": "cad",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "Principal/Designee"
                }
              ],
              "names": [
                {
                  "firstName": "staff",
                  "lastSurname": "staff"
                },
                {
                  "firstName": "staff",
                  "lastSurname": "staff",
                  "suffixDescription": "I"
                },
                {
                  "firstName": "staff",
                  "middleName": "",
                  "lastSurname": "staff",
                  "suffixDescription": "II"
                }
              ],
              "parentguardiannames": [
                {
                  "firstName": "asda",
                  "lastSurname": "acda",
                  "typeDescription": "Father"
                }
              ],
              "enrollments": [],
              "staffassignments": [
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 1323,
                    "nameOfInstitution": "Arrowhead UHS School District"
                  },
                  "positionCode": "05",
                  "positionDescription": "District Administrator",
                  "areaCode": "0000",
                  "areaDescription": "No Description Beyond Position"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 1323,
                    "nameOfInstitution": "Arrowhead UHS School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0050",
                  "areaDescription": "Elementary - All Subjects"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 4387,
                    "nameOfInstitution": "Milwaukee School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0808",
                  "areaDescription": "Early Childhood Special Education"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 4732,
                    "nameOfInstitution": "Maple Dale-Indian Hill School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0808",
                  "areaDescription": "Early Childhood Special Education"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 10702,
                    "nameOfInstitution": "Kaukauna Area School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0808",
                  "areaDescription": "Early Childhood Special Education"
                }
              ],
              "inactiveuniqueids": []
            }
          ]
        }
      ],
      "searchKey": "00000000-0000-0000-0000-000000000000"
    }

    ...

    Expand

    REQUEST

    • NOTES

      • Passing only UniqueId will perform will result in 1 or no matches returned.

      • FirstName, LastSurname, and Birthdate are required (unless UniqueId is present).

      • Values provided by all name fields are case insensitive.

      • The following fields affect score: UniqueId, FirstName, LastSurname, MiddleName, Birthdate, Suffix (Exact Match), LocalPersonId, EducationOrganizationId.

      • The following fields boost score: 

        • 6 point boost for an exact match on FirstName, LastSurname, and Birthdate.

        • 3 point boost for an exact match on LastSurname and Birthdate.

      •  The EducationOrganizationId is highly recommended and it helps determine if Email and LocalPersonId should be returned for ApiKeys that are associated with more than one Education Organization. If the EducationOrganizationId field is omitted, not valid, or is not authorized for the associated ApiKey, then the default Education Organization associated with the ApiKey will be used to determine if the Email and LocalPersonId should be returned. The fields Email and LocalPersonId are only returned if they are associated with final determining EducationOrganizationId. 

      • URL: https://apps.dpi.wi.gov/EdFiWebApiEdFiWebApiV6/identity/v2/20232025/identities/search

    • HTTP METHOD: POST

    • BODY

    IdentitySearchRequests (array[IdentitySearchRequest], optional)

    UniqueId (string, optional),

    LastSurname (string, Required),

    FirstName (string, Required),

    BirthDate (string, Required),

    MiddleName (string, optional),

    GenerationCodeSuffix (string, optional),

    SexType (string, optional),

    LocalPersonId (string, optional), A string uniquely identifying the student (or staff) for the Vendor Software (aka LocalPersonRowKey)

    EducationOrganizationId (integer, required): It’s highly recommended that vendors send the EducationOrganizationId with the request. The the EducationOrganizationId field helps determine if Email and LocalPersonId should be returned for ApiKeys that are associated with more than one Education Organization. If this field is omitted, not valid, or is not authorized for the associated ApiKey, then the default EducationOrganizationId associated with the ApiKey will be used to determine if the Email and LocalPersonId should be returned. The fields Email and LocalPersonId are only returned if they are associated with final determining EducationOrganizationId.

    RESPONSE

    • NOTES:

      • The fields in red are specific to WI DPI implementation of Ed-Fi Identity.

      • The fields Email and LocalPersonId are only returned if they are associated with final determining EducationOrganizationId (see additional notes above about the request field EducationOrganizationId).

      • SearchKey is returned, which is required when using the create endpoint. This serves the purpose of requiring a search before creating a new WISEid person record.

      • The SearchKey is only valid for a CREATE when using the same request parameters that were passed in the SEARCH (FirstName, LastName, Birthdate, etc.) and with the same API Key/Secret.

      • The SearchKey expires after 10 mins.

      • CONFIDENCE SCORE LOGIC

        • If one exact or very close match results from a search (excludes synonyms) based on the core search fields provided in the request match, then a score of 100 will be generated. So 100 is a Best match - exact or very close match.

        • If more than one exact or very close match exists based on the core search fields provided, a score of 80 + (Lucene score * .1) will be generated for each match. So any score >80 and <100 is in this range and is a Good match.

        • Results that are not an exact or very close match to the core search fields but are > 3 in the Lucene scoring system will be given a score of 50 + (Lucene score * .1). So any score >50 and <80 is in this range and is a OK match.

        • Results having a Lucene score less than 3 will not show up in the results (no changes from the original scoring rules. Anything with a score less than 50 is omitted).

        • The sort order can be done from either score OR order of results returned by Identity API as they are the same descending order

        • Only the top 30 score matches per person maximum will be returned.  Even if scores are above the cut off they will be omitted if not in the top 30 results for that person.

        • If a person has a Multiple Birth indicator = Y always send to match review no matter what you get above.  Could be a twin with a similar name.

    • BODY

    IdentitySearchResponse {

    Status (string, optional) = ['Incomplete' or 'Complete'],

    SearchResponses (array[IdentitySearchResponses], optional) }

    Responses (array[IdentityResponse], optional) }

    UniqueId (string, optional),

    Score (number, optional), Anytime more than one possible match is returned, DO NOT automate the selection of a WISEid based on score or other logic. An LEA user needs to be presented with the possible matches and then manually select(see the confidence score logic above)

    LastSurname (string, optional),

    FirstName (string, optional),

    MiddleName (string, optional),

    GenerationCodeSuffix (string, optional),

    SexType (string, optional),

    BirthDate (string, optional),

    BirthLocation (Location, optional)

    IsHispanicLatino (bool, option)

    RaceCodes (array[string], option), A, B, I, P, W

    Locals (array[Local], optional),

    Names (array[Name], optional), other names

    ParentGuardianNames (array[Name], optional),

    staffassignments: [

    schoolYear: 2025,

    localEducationAgencyId: 1323,

    nameOfInstitution: 'Arrowhead UHS School District',

    positionCode: 0000,

    positionDescription: ‘Teacher’,

    areaCode: 005',

    areaDescription: 'Elementary - All Subjects'

    InactiveUniqueIds (array[string], option), Old (duplicate) UniqueIds for the student which were merged to the current UniqueId }

    SearchKey (guid, optional),

    EXAMPLE

    REQUEST:

    Code Block
    languagejson
    [
      {
        BirthDate: "1969-04-01T00:00:00Z",
        FirstName: "staff",
        LastSurname: "staff",
        EducationOrganizationId:"1323"
    
      }
    ]

    RESPONSE:

    • BODY:

    Code Block
    languagejson
    [
     {
      "status": 2,
      "searchResponses": [
        {
          "responses": [
            {
              "uniqueId": "7644703248",
              "score": 100,
              "lastSurname": "staff",
              "firstName": "staff",
              "middleName": "",
              "sexType": "F",
              "birthDate": "1969-04-01T00:00:00Z",
              "birthLocation": {},
              "entityid": 17563,
              "racekey": "0007",
              "ishispaniclatino": true,
              "racecode": "I",
              "racecodes": [
                "I",
                "B"
              ],
              "locals": [
                {
                  "educationOrganizationId": 1323,
                  "localPersonId": "ffv",
                  "description": "cds",
                  "typeDescription": "Student",
                  "wiseSecureRoleDescription": "Student"
                },
                {
                  "educationOrganizationId": 1323,
                  "localPersonId": "vfsv",
                  "description": "cad",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "Principal/Designee"
                }
              ],
              "names": [
                {
                  "firstName": "staff",
                  "lastSurname": "staff"
                },
                {
                  "firstName": "staff",
                  "lastSurname": "staff",
                  "suffixDescription": "I"
                },
                {
                  "firstName": "staff",
                  "middleName": "",
                  "lastSurname": "staff",
                  "suffixDescription": "II"
                }
              ],
              "parentguardiannames": [
                {
                  "firstName": "asda",
                  "lastSurname": "acda",
                  "typeDescription": "Father"
                }
              ],
              "enrollments": [],
              "staffassignments": [
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 1323,
                    "nameOfInstitution": "Arrowhead UHS School District"
                  },
                  "positionCode": "05",
                  "positionDescription": "District Administrator",
                  "areaCode": "0000",
                  "areaDescription": "No Description Beyond Position"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 1323,
                    "nameOfInstitution": "Arrowhead UHS School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0050",
                  "areaDescription": "Elementary - All Subjects"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 4732,
                    "nameOfInstitution": "Maple Dale-Indian Hill School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0808",
                  "areaDescription": "Early Childhood Special Education"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 10702,
                    "nameOfInstitution": "Kaukauna Area School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0808",
                  "areaDescription": "Early Childhood Special Education"
                },
                {
                  "schoolYear": 2022,
                  "localEducationAgency": {
                    "localEducationAgencyId": 4387,
                    "nameOfInstitution": "Milwaukee School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0808",
                  "areaDescription": "Early Childhood Special Education"
                }
              ],
              "inactiveuniqueids": []
            },
            {
              "uniqueId": "7344377073",
              "score": 51.41398,
              "lastSurname": "staf",
              "firstName": "staf",
              "middleName": "s",
              "generationCodeSuffix": "IV",
              "sexType": "M",
              "birthDate": "2000-12-21T00:00:00Z",
              "birthLocation": {},
              "entityid": 747020,
              "racekey": "0037",
              "ishispaniclatino": false,
              "racecode": "W",
              "racecodes": [
                "W"
              ],
              "locals": [
                {
                  "educationOrganizationId": 1323,
                  "localPersonId": "sc",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "Educational Support"
                },
                {
                  "educationOrganizationId": 7533,
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "None"
                },
                {
                  "educationOrganizationId": 7738,
                  "description": "Uploaded on 2019-01-04",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "None"
                },
                {
                  "educationOrganizationId": 12337,
                  "description": "Uploaded on 2018-03-29",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "Teacher"
                }
              ],
              "names": [
                {
                  "firstName": "staff",
                  "lastSurname": "staff"
                },
                {
                  "firstName": "staffff",
                  "middleName": "s",
                  "lastSurname": "staffff"
                },
                {
                  "firstName": "jovie",
                  "lastSurname": "jainie"
                },
                {
                  "firstName": "staf",
                  "middleName": "s",
                  "lastSurname": "staffff"
                },
                {
                  "firstName": "staf",
                  "middleName": "s",
                  "lastSurname": "staf"
                }
              ],
              "staffassignments": [
                {
                  "schoolYear": 2023,
                  "localEducationAgency": {
                    "localEducationAgencyId": 1323,
                    "nameOfInstitution": "Arrowhead UHS School District"
                  },
                  "positionCode": "96",
                  "positionDescription": "Paraprofessional",
                  "areaCode": "0891",
                  "areaDescription": "Instructional - Special Education - Early Childhood"
                }
              ],
              "inactiveuniqueids": []
            },
            {
              "uniqueId": "8871731351",
              "score": 50.9907156,
              "lastSurname": "s",
              "firstName": "staff",
              "sexType": "F",
              "birthDate": "1969-04-01T00:00:00Z",
              "birthLocation": {},
              "racekey": "0035",
              "ishispaniclatino": false,
              "racecode": "B",
              "racecodes": [
                "B"
              ],
              "locals": [
                {
                  "educationOrganizationId": 7738,
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "None"
                },
                {
                  "educationOrganizationId": 16008,
                  "description": "Uploaded on 2022-08-25",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "None"
                },
                {
                  "educationOrganizationId": 16008,
                  "description": "Uploaded on 2022-08-18",
                  "typeDescription": "Staff",
                  "wiseSecureRoleDescription": "None"
                }
              ],
              "names": [],
              "staffassignments": [
                {
                  "schoolYear": 2023,
                  "localEducationAgency": {
                    "localEducationAgencyId": 16008,
                    "nameOfInstitution": "Plum City School District"
                  },
                  "positionCode": "53",
                  "positionDescription": "Teacher",
                  "areaCode": "0300",
                  "areaDescription": "English"
                }
              ],
              "inactiveuniqueids": []
            }
          ]
        }
      ],
      "searchKey": "f281a42e-810a-4c44-b3ce-ff508bee6784

    ...

    CREATE

    Expand

    REQUEST

    • NOTES:

      • SearchKey from SEARCH endpoint call is required when using the CREATE endpoint. This serves the purpose of requiring a search before creating a new WISEid person record.

      • The SearchKey is only valid for a CREATE when using the same request parameters that were passed in the SEARCH (FirstName, LastName, Birthdate, etc.) and with the same API Key/Secret.

      • The SearchKey expires after 10 mins.

      • The fields in red are specific to WI DPI implementation of Ed-Fi Identity.

    • URL: https://apps.dpi.wi.gov/EdFiWebApiEdFiWebApiV6/identity/v2/20232025/identities/

    • HTTP METHOD: POST

    • BODY

    IdentityCreateRequest {

    SearchKey: (GUID, required),

    LastSurname (string, required),

    FirstName (string, required),

    MiddleName (string, optional),

    GenerationCodeSuffix (string, optional),

    SexType (string, required),

    BirthDate (string, required),

    BirthLocation (Location, optional),

    RaceCodes (array[string], required ), A, B, I, P, W

    IsHispanicLatino: (bool, required),

    EntityId: (numeric, optional)

    Names (array[Name], optional), other names

    ParentGuardianNames (array[Name], optional) : At least one 'Parent/Guardian' record is required for each person record when they have a 'Local Person ID Key Type' that equals 'Student' }

    Location {

    City (string, optional),

    StateAbbreviation (string, optional),

    InternationalProvince (string, optional),

    Country (string, optional),

    County (string, optional) }

    Local {

    EducationOrganizationId (integer, optional): it’s highly recommended that vendors send the EducationOrganizationId with the request. This should be the LocalEducationAgencyId and not the SchoolId.

    LocalPersonId (string, required), : A string uniquely identifying the student (or staff) for the Vendor Software (aka LocalPersonRowKey)

    Description (string, optional), : A description of the person local row key - ex. Manually created wise id

    Email (string, optional),

    TypeDescription (string, required), : Either Student or Teacher

    WiseSecureRoleDescription (string, optional) : A role federation role Ex Student or Teacher }

    Name {

    FirstName (string, optional),

    MiddleName (string, optional),

    LastSurname (string, optional) }

    RESPONSE

    • NOTES:

      • The fields highlighted in red are specific to WI DPI implementation of Ed-Fi Identity.

      • The fields email and LocalPersonId will not be returned if your ApiClient Key doesn’t have access to the corresponding district.

    • BODY:

    UniqueId (string, optional): This is the same as a WISEid

    EXAMPLE

    REQUEST:

    Code Block
    languagejson
    {
        "BirthDate": "1989-08-07T16:19:03.147Z",
        "FirstName": "Test",
        "LastSurname": "Staff",
        "SexType": "X",
        "SearchKey": "a1118d32-f5ea-4b3a-b91e-6022f12317fe",
        "EntityId": 14570,
        "RaceCodes": [
            "A"
        ],
        "IsHispanicLatino": false,
        "Locals": [
            {
                "EducationOrganizationId": 1323,
                "LocalPersonId": "test-1234-staff",
                "TypeDescription": "Staff",
                "WiseSecureRoleDescription": "Teacher"
            }
        ]
    }

    RESPONSE:

    • BODY: 6318826111

    ...