Developer Guide

Case API

Accessing case notes, steps, and applicant-level case details.

Auth
Authenticated Case API V2 endpoints. All requests in this folder use the V2 authentication scheme. Covers case listing with filtering/pagination, case retrieval by ID or employee number, case notes, and case steps.

AUTHORIZATION Bearer Token

API Endpoints

Create a New Case

POST    /v2/case

 https://immigo.cibtapis.com/v2/case

Creates a new immigration case with applicant and case details.

Endpoint

POST /v2/case

 

Request Body

Content-Type: application/json

 

Parameters

Field Type Description
caseType string The type of immigration case.
hostCompany string The company in the host/destination country.
sendingCompany string The company sending the applicant.
billingCompany string The company responsible for billing.
hostCountry string The destination country code.
hostCity string The destination city.
homeCountry string The applicant’s home country code.
assignmentId string The assignment identifier.
processName string The immigration process name.
applicant object Applicant details including personal info, dependents array, and passports array.

 

Usage notes

  • All company fields hostCompany, sendingCompany, billingCompany must reference valid company records.
  • The applicant object can include dependents and passport information for the primary applicant.
  • The metadata object supports custom key-value pairs for tracking additional information.
  • Returns the created case record with its assigned caseId.

 

Body (raw json)


{
    "caseType": "NewHire",
    "hostCompany": "Test company",
    "sendingCompany": "Test company",
    "billingCompany": "Test company",
    "hostCountry": "GB",
    "hostCity": "London",
    "homeCountry": "US",
    "assignmentId": "AB-12-XYZ",
    "processName": "Unspecified process",
    "payrollLocation": "S",
    "salary": "",
    "newJobTitle": "Widget Supervisor",
    "placeOfWork": "Test company",
    "authorizingPerson": "John Smith",
    "costCenter": "Manufacturing",
    "department": "Widgets",
    "billingReference": "ABC123",
    "applicant": {
        "employeeNumber": "1234",
        "firstName": "first name",
        "lastName": "last name",
        "middleName": "middle name",
        "countryOfResidence": "US",
        "countryOfBirth": "US",
        "placeOfBirth": "Washington, DC",
        "dateOfBirth": "1955-03-04",
        "gender": "M",
        "Vip": false,
        "maritalStatus": "M",
        "emailAddress": "[email protected]",
        "telephoneNumber": "555-555-1212",
        "hireDate": "",
        "currentJobTitle": "Widget Curator",
        "addressStreet1": "123 Main St.",
        "addressStreet2": "test value",
        "addressCity": "Anytown",
        "addressState": "VA",
        "addressPostalCode": "22000",
        "addressCountry": "US",
        "passports": [
            {
                "country": "US",
                "passportNumber": "123456",
                "expirationDate": "2025-01-01",
                "issueDate": "2015-01-01",
                "issuingAuthority": "Ntl Ppt Ctr",
                "Nationality": "US"
            }
        ],
        "dependents": [
            {
                "firstName": "spousefirstname",
                "lastName": "spuselastname",
                "relationship": "Spouse",
                "nationality": "US",
                "dateOfBirth": "1950-05-01",
                "gender": "F"
            }
        ]
    },
    "metadata": [
        {
            "tagName": "Additional Instructions",
            "value": "test value"
        }
    ]
}

 

List Cases

GET    /v2/cases/applicants/steps

https://immigo.cibtapis.com/v2/cases/applicants/steps?startDate=2023-01-01&endDate=2025-01-01&maxRecords=100&offset=1

Retrieves case steps for applicants within a specified date range, with pagination support.

Endpoint

GET /v2/cases/applicants/steps

 

Query Parameters

Parameter Type Required Default Description
startDate string Yes Start of the date range in YYYY-MM-DD format.
endDate string Yes End of the date range in YYYY-MM-DD format.
maxRecords integer No 100 Maximum number of records to return per page.
offset integer No 1 Number of records to skip for pagination. Send an empty offset to make use of Cursor based Navigation.
nextCursor string No __ Cursor token for fetching the next page of results. Returned in the previous response. Takes precedence over offset when provided.
prevCursor string No __ Cursor token for fetching the previous page of results. Returned in the previous response.

 

Response

 Returns a paginated array of case step records within the specified date range, including step names, statuses, dates, and associated case/applicant references.

Usage Notes

  • Use offset and maxRecords for pagination through large result sets.
  • This endpoint returns steps across all cases within the date range – for steps on a specific case, use /case/{caseId}/steps instead.
  • Steps represent individual stages in the immigration process.
  • If you send an empty offset value, pagination will be based on Cursors.
  • When nextCursor or prevCursor values are returned in a response, pass them in subsequent requests to navigate pages. Cursor-based pagination is preferred over offset for large or frequently updated datasets.

Get Case By ID

GET    /v2/case/{caseId}

https://immigo.cibtapis.com/v2/case/e7KVLfQeupCyttuedvmYtYQ03U-L8AoXwzBQBa9MLfo=

Retrieves detailed information for a specific case by its unique encoded case ID.

Endpoint

GET /v2/case/{caseId}

 

Path Parameters

Parameter Type Required Description
caseId string Yes The unique encoded identifier (Base64) of the case.

 

Response

Returns the full case record including case type, status, host/home country details, company information, applicant details, steps, and metadata.

Usage Notes

  • The caseId is a Base64-encoded unique
  • Returns comprehensive case details in a single
  • For listing multiple cases, use the List Cases endpoint with date range filters

Get Cases for an Applicant

GET /v2/cases/applicant/id/{applicantId}

https://immigo.cibtapis.com/v2/cases/applicant/id/e7KVLfQeupCyttuedvmYtVwl76AEZb-yq7SFodTh224=

Retrieves all cases associated with an applicant identified by their unique encoded applicant ID.

Endpoint

GET /v2/cases/applicant/id/{applicantId}

Path Parameters

Parameter Type Required Description
applicantId string Yes The unique encoded identifier (Base64) of the applicant.

Response

Returns an array of case records associated with the specified applicant, including case details, status, and related metadata.

Usage Notes 

  • Use this endpoint when you have the internal applicant
  • For employee number-based case lookups, use /cases/applicant/employeenumber/{employeeNumber}

Get Cases for an Employee Number

GET    /v2/cases/applicant/employeenumber/{employeeNumber}

 https://immigo.cibtapis.com/v2/cases/applicant/employeenumber/1234

Retrieves all cases associated with an applicant identified by their employee number.

Endpoint

GET /v2/cases/applicant/employeenumber/{employeeNumber}

 Path Parameters

Parameter Type Required Description
employeeNumber string Yes The applicant’s employee number.

 Response

Returns an array of case records associated with the specified applicant, including case type, status, host/home country details, and related metadata.

Usage Notes

  • Use this endpoint when you have the employee number rather than the internal applicant
  • For applicant ID-based case lookups, use cases/applicant/id/{applicantId} instead.
  • Returns all cases regardless of status (open, closed, pending).

Get Case Steps

GET    /v2/case/{caseId}/steps

https://immigo.cibtapis.com/v2/case/e7KVLfQeupCyttuedvmYtRawEYLMcnDpOxmXR9UG884=/steps

Retrieves all process steps for a specific case by its unique encoded case ID.

Endpoint

GET /v2/case/{caseId}/steps

 

Path Parameters

Parameter Type Required Description
caseId string Yes The unique encoded identifier (Base64) of the case.

 

Response

Returns an array of step records for the specified case, including step names, statuses, dates, and any associated metadata.

Usage Notes

  • For bulk step retrieval across multiple cases, use cases/applicants/steps with date range filters.
  • Steps represent the individual stages in the immigration process
  • Each step typically includes a name, status, start date, and completion

Get Case Notes

GET /v2/cases/applicants/notes

https://immigo.cibtapis.com/v2/cases/applicants/notes?startDate=2025-01-01&endDate=2026-01-22&maxRecords=100&offset=0

Retrieves case notes for applicants within a specified date range, with pagination support.

Endpoint

GET /v2/cases/applicants/notes

 

Params example

startDate 2025-01-01
endDate 2026-01-22
maxRecords 100
offset 0
nextCursor
prevCursor

 

Query Parameters

Parameter Type Required Default Description
startDate string Yes Start of the date range in YYYY-MM-DD format.
endDate string Yes End of the date range in YYYY-MM-DD format.
maxRecords integer No 100 Maximum number of records to return per page.
offset integer No 0 Number of records to skip for pagination. Send an empty offset to make use of Cursor based Navigation.
nextCursor string No __ Cursor token for fetching the next page of results. Returned in the previous response. Takes precedence over offset when provided.
prevCursor string No __ Cursor token for fetching the previous page of results. Returned in the previous response.

 

Response

 Returns a paginated array of case note records within the specified date range, including note content, author, timestamps, and associated case references.

Usage Notes

  • Use offset and maxRecords for pagination through large result sets.
  • The type parameter determines which date field is used for filtering.
  • For notes on a specific case, use /case/{caseId}/notes instead.
  • Notes are returned in chronological order.
  • If you send an empty offset value, pagination will be based on Cursors.
  • When nextCursor or prevCursor values are returned in a response, pass them in subsequent requests to navigate pages. Cursor-based pagination is preferred over offset for large or frequently updated datasets.

Get Notes for a Case

GET     /v2/case/{caseId}/notes

https://immigo.cibtapis.com/v2/case/e7KVLfQeupCyttuedvmYtU33PPDyc-7VHKFMzL_R5OI=/notes

Retrieves all notes for a specific case by its unique encoded case ID.

Endpoint

GET /v2/case/{caseId}/notes

 

Path Parameters

Parameter Type Required Description
caseId string Yes The unique encoded identifier (Base64) of the case.

Response

Returns an array of note records for the specified case, including note content, author, timestamps, and any associated metadata.

Usage Notes

  • Returns all notes associated with a single case.
  • For bulk note retrieval across multiple cases within a date range, use GetCaseNotes instead.
  • Notes are typically returned in chronological order.

List Case Steps

GET    /v2/cases/applicants/steps

https://immigo.cibtapis.com/v2/cases/applicants/steps?startDate=2023-01-01&endDate=2025-01-01&maxRecords=100&offset=1

Retrieves case steps for applicants within a specified date range, with pagination support.

Endpoint

GET /v2/cases/applicants/steps

 

Query Parameters

Parameter Type Required Default Description
startDate string Yes Start of the date range in YYYY-MM-DD format.
endDate string Yes End of the date range in YYYY-MM-DD format.
maxRecords integer No 100 Maximum number of records to return per page.
offset integer No 1 Number of records to skip for pagination. Send an empty offset to make use of Cursor based Navigation.
nextCursor string No __ Cursor token for fetching the next page of results. Returned in the previous response. Takes precedence over offset when provided.
prevCursor string No __ Cursor token for fetching the previous page of results. Returned in the previous response.

 

Response

 Returns a paginated array of case step records within the specified date range, including step names, statuses, dates, and associated case/applicant references.

Usage Notes

  • Use offset and maxRecords for pagination through large result sets.
  • This endpoint returns steps across all cases within the date range – for steps on a specific case, use /case/{caseId}/steps instead.
  • Steps represent individual stages in the immigration process.
  • If you send an empty offset value, pagination will be based on Cursors.
  • When nextCursor or prevCursor values are returned in a response, pass them in subsequent requests to navigate pages. Cursor-based pagination is preferred over offset for large or frequently updated datasets.

Get Health Check

GET /v2/case/health

https://immigo.cibtapis.com/v2/case/health

Performs a health check on the Case API service. Returns the current health status to verify the service is running and responsive.

Endpoint

GET /v2/case/health

Parameters

No path parameters, query parameters, or request body required.

Response

 Returns the health status of the Case API service, typically including service availability and uptime information.

Usage Notes

  • Use this endpoint for monitoring and alerting.
  • A successful response indicates the Case API service is running.