Get Onboarding Requisition Status

Returns the current state of an onboarding requisition: verification status, analysis status, liveness status and the current step of the journey. This is the endpoint your application polls from creation until the final decision.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Endpoint

GET /v3/onboarding/{onboarding_requisition_id}

Headers

ParameterTypeDescriptionRequired or OptionalExample
X-Onboarding-TokenStringAccess token of the onboarding requisition, returned in the access_token field when the requisition was created. It authorizes every call made for that requisition.requiredkR4tX0pQ7sV9nL2mB6yH8wZ3cJ1fA5dE7gT0uI9oP4s

Path Parameters

ParameterTypeDescriptionRequiredExample
onboarding_requisition_idIntegerIdentifier of the onboarding requisition to be readYes10482

Request Examples

Poll while the end user completes the proof of life:

GET /v3/onboarding/10482
X-Onboarding-Token: kR4tX0pQ7sV9nL2mB6yH8wZ3cJ1fA5dE7gT0uI9oP4s

Poll after the form was submitted:

GET /v3/onboarding/10483
X-Onboarding-Token: 7wD2sN9kV4bX1mQ6tL3yH8pZ0cR5fJ2aE7gU4iO1nS6

Response Details

Waiting for the liveness (individual onboarding):

{
  "worked": true,
  "onboarding_requisition_id": 10482,
  "onboarding_type": "PF",
  "status": "PENDING",
  "status_internal": null,
  "liveness_status": "PENDING",
  "current_step": "LIVENESS",
  "liveness_url": "https://liveness.example.com/start/abc123def456",
  "liveness_attempts_left": 2,
  "submitted_at": null,
  "company": null,
  "representative_document": null,
  "updated_at": "2026-09-04T14:19:04Z"
}

After the form was submitted (company onboarding):

{
  "worked": true,
  "onboarding_requisition_id": 10483,
  "onboarding_type": "PJ",
  "status": "IN_PROGRESS",
  "status_internal": null,
  "liveness_status": "PASSED",
  "current_step": "PROCESSING",
  "liveness_url": null,
  "liveness_attempts_left": 2,
  "submitted_at": "2026-09-04T12:00:00Z",
  "company": {
    "official_name": "Example Company LTDA",
    "fantasy_name": "Example Company",
    "opening_date": "2015-03-12",
    "legal_nature": "Limited Liability Company",
    "legal_nature_code": "2062",
    "main_activity": "Custom computer programming services",
    "main_activity_code": "6201-5/01",
    "joint_stock": "100000.00",
    "zip_code": "90010150",
    "state": "RS",
    "city": "Porto Alegre",
    "street": "Avenida Borges de Medeiros",
    "neighborhood": "Centro Historico",
    "number": "1000",
    "complement": "Suite 302"
  },
  "representative_document": "11144477735",
  "updated_at": "2026-09-04T15:02:47Z"
}

Response Fields

FieldTypeDescription
workedBooleanAlways returns true when the request is successful
onboarding_requisition_idIntegerIdentifier of the onboarding requisition
onboarding_typeStringType of onboarding: PF (individual) or PJ (company). null when the type was not recorded for the requisition. See Onboarding Type Values below.
statusStringVerification status of the journey. See Verification Status Values below.
status_internalStringResult of the analysis performed after the verification finishes. null while no decision has been made yet. See Analysis Status Values below.
liveness_statusStringStatus of the proof of life: PENDING, PASSED or FAILED. null when the liveness journey has not started. See Liveness Status Values below.
current_stepStringStep the journey is currently on: LIVENESS, FORM, PROCESSING, REVIEW or DONE.
liveness_urlStringLink where the end user completes the proof of life. Filled only while liveness_status is PENDING; null in every other situation.
liveness_attempts_leftIntegerHow many further proof-of-life journeys can still be opened for this requisition.
submitted_atDateTimeDate and time the form was submitted. Format: ISO 8601 in UTC-0 (YYYY-MM-DDTHH:MM:SSZ). null before the submission.
companyObjectOfficial registry data of the company. Returned only for PJ onboardings; null for PF. See Company Fields below.
representative_documentStringCPF of the legal representative sent when the requisition was created. Returned only for PJ onboardings; null for PF, and also null if no representative was recorded.
updated_atDateTimeDate and time of the last change to the requisition. Format: ISO 8601 in UTC-0 (YYYY-MM-DDTHH:MM:SSZ).

Company Fields

Present only when onboarding_type is PJ. Every field is returned individually and may come back null while the official registry lookup has not returned yet, so your form must keep collecting the editable data regardless.

FieldTypeDescription
official_nameStringRegistered legal name of the company. null until the registry lookup returns.
fantasy_nameStringTrade name of the company. null when not available.
opening_dateDateDate the company was opened. Format: YYYY-MM-DD. null when not available.
legal_natureStringDescription of the legal nature of the company. null when not available.
legal_nature_codeStringCode of the legal nature of the company. null when not available.
main_activityStringDescription of the main economic activity. null when not available.
main_activity_codeStringCode of the main economic activity. null when not available.
joint_stockStringShare capital registered for the company. null when not available.
zip_codeStringPostal code of the registered address. null when not available.
stateStringState of the registered address. null when not available.
cityStringCity of the registered address. null when not available.
streetStringStreet of the registered address. null when not available.
neighborhoodStringNeighborhood of the registered address. null when not available.
numberStringStreet number of the registered address. null when not available.
complementStringAddress complement. null when not available.

Onboarding Type Values

ValueDescription
PFOnboarding of an individual (CPF)
PJOnboarding of a company (CNPJ)

Verification Status Values

ValueDescription
PENDINGThe requisition was created and the verification has not produced a result yet
IN_PROGRESSThe verification is running
APPROVEDThe verification finished with an approval
REPROVEDThe verification finished with a rejection
COMPLETEDThe verification journey is finished

Analysis Status Values

ValueDescription
PENDINGThe analysis has not started
WAITING_APPROVALThe requisition is waiting for a final decision
APPROVEDFinal decision: the onboarding was approved
REJECTEDFinal decision: the onboarding was rejected

null means nobody has decided yet.

Liveness Status Values

ValueDescription
PENDINGA proof-of-life journey is open and waiting for the end user. liveness_url is filled.
PASSEDThe end user completed the proof of life successfully
FAILEDThe proof of life was not successful. A new attempt can be opened while attempts remain.

null means the proof-of-life journey never started.

Status Dimensions

The response carries three independent status fields plus one consolidated step:

FieldWhat it tells you
liveness_statusWhether the end user has completed the proof of life
statusWhere the verification of the submitted data stands
status_internalThe final decision on the onboarding, once it has been made
current_stepThe three fields above, together with submitted_at, consolidated into a single value. Use it to drive your screens; use the individual fields only for extra detail.

Journey Steps

current_step is the value your application should branch on while the journey runs:

ValueWhat it meansWhat your application should do
LIVENESSThe proof of life has not been completed yet (not started, still open, or failed)Send the end user to liveness_url. If liveness_status is FAILED and liveness_attempts_left is greater than 0, open a new attempt with POST /v3/onboarding/{onboarding_requisition_id}/liveness/retry. Keep polling.
FORMThe proof of life passed and the form has not been submitted yetRender your own form and send the collected data to POST /v3/onboarding/{onboarding_requisition_id}/submit. Keep polling.
PROCESSINGThe form was submitted and the verification is running in the backgroundNothing to do. Keep polling and show a waiting state to the end user.
REVIEWThe verification finished and the requisition is waiting for the final decisionNothing to do. Keep polling.
DONEA final decision was made and is available in status_internalStop polling and act on status_internal (APPROVED or REJECTED).

Error Responses

HTTP CodeError MessageDescription
404Onboarding requisition not found.The requisition does not exist or the X-Onboarding-Token header is missing or does not match the access token of this requisition. The same response is returned in both cases.
422Validation errorThe requisition identifier in the path is not a valid integer.

Business Rules

Access:

  • Every call must send the X-Onboarding-Token header with the access_token returned when the onboarding requisition was created.
  • A token is valid for a single onboarding requisition.
  • A missing or incorrect token returns 404 with the same message used for an unknown identifier: the API never confirms whether a requisition exists to a caller that does not hold its token.
  • Store the access token when the requisition is created; it is not returned again by this endpoint.

Liveness:

  • liveness_url is returned only while liveness_status is PENDING. Once the proof of life passes or fails, the field comes back null and the previous link must not be reused.
  • liveness_attempts_left starts at 2: a requisition allows at most 3 proof-of-life journeys in total and the first one is already opened when the requisition is created. The field decreases by 1 every time a further journey is opened, and reaches 0 on the last available attempt.
  • A new attempt can only be opened after a FAILED proof of life and only while liveness_attempts_left is greater than 0.
  • If liveness_status stays on PENDING after the end user has finished the proof of life, call POST /v3/onboarding/{onboarding_requisition_id}/liveness/refresh to reconcile the result, then read this endpoint again.

Company Data:

  • The company object is returned only for PJ onboardings. For PF onboardings it is always null.
  • The registry lookup runs asynchronously: the object can be returned with all fields null right after creation and filled in a later poll.
  • Do not block your form on this data. Collect the editable fields from the end user and send them in the form submission.

Legal representative:

  • representative_document is the CPF sent as representative_document on POST /v3/onboarding/form. It is returned only for PJ onboardings.
  • Use it to pre-fill the legal-representative partner on your form. The person who passed the liveness is this CPF, and the submit call must mark that same partner as is_legal_representative.

Important Notes:

  • All dates and times are returned in UTC-0, in ISO 8601 with the Z suffix (for example, 2026-09-04T14:19:04Z).
  • status_internal is null until a decision is made; treat null as "still in progress", never as a rejection.
  • submitted_at is null until the form is submitted and never changes afterwards.
  • This endpoint is read-only and can be called at any point of the journey, including after current_step reaches DONE.

Polling Recommendations:

  • Poll every 3 to 5 seconds while the end user is on the proof of life, so your screen reacts as soon as current_step moves from LIVENESS to FORM.
  • Poll every 10 to 30 seconds while current_step is PROCESSING or REVIEW.
  • Stop polling once current_step reaches DONE.
  • Use updated_at to detect whether anything changed between two polls.
Path Params
integer
required

Identifier of the onboarding requisition.

Headers
string
required

Access token returned when the onboarding requisition was created.

Responses

404

Onboarding requisition not found, or the access token is missing or incorrect

Language
LoadingLoading…
Response
Choose an example:
application/json