> For the complete documentation index, see [llms.txt](https://legacy-docs.usesmileid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://legacy-docs.usesmileid.com/integration-options/rest-api/utilities.md).

# Utilities

{% hint style="info" %}
This section is only useful if you are **not** using one of our Web API core packages since they all contain a **get\_job\_status** method.
{% endhint %}

The job status API returns information about a job, including its completion status, whether or not it was successful, optionally the complete history (all information sent to the callback **,** and also optionally, a signed link to the images captured during that job.

Unlike the callback, where results are asynchronous and **we** POST to your server, the job status API is implemented on our servers and **you** make POST requests to it. Just like any other call to our servers, we use an encrypted signature to verify that you are the sender of the request, and the response will include a signature created by us for verification. You can find instructions on how to sign the request in the api access portion of our documentation or use the **generate\_signature** method in one of our [server -to-server library](/integration-options/server-to-server.md).

## Job Status

<mark style="color:green;">`POST`</mark> `https://testapi.smileidentity.com/v1/job_status`

#### Request Body

| Name         | Type   | Description                                                                                           |
| ------------ | ------ | ----------------------------------------------------------------------------------------------------- |
| timestamp    | number | The timestamp used to create the signature                                                            |
| sec\_key     | string | The signature for the request                                                                         |
| user\_id     | string | <p>The unique</p><p><code>user\_id</code></p><p>that was either assigned, or passed into this job</p> |
| job\_id      | string | <p>The unique</p><p><code>job\_id</code></p><p>that was either assigned, or passed into this job</p>  |
| partner\_id  | string | <p>Your 3 character</p><p><code>partner\_id</code></p><p>which can be found in the portal</p>         |
| image\_links | string | If set to "true" this will return a link to the image used for that job                               |
| history      | string | If set to "true" the response will include a will return a link to the image used for that job        |

{% tabs %}
{% tab title="200 " %}

```json
{
  "timestamp": "2018-03-13T21:04:11.193Z",
  "signature": "5445722f5af1791eb434949cce9a88dd321e5959fd24a8562ecb12bb00c33fe",
  "job_complete": true,
  "job_success": true,
  "result": {
    "ResultText": "Enroll User",
    "SmileJobID": "0000001897",
    "PartnerParams": {
      "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
      "user_id": "e54e0e98-8b8c-4215-89f5-7f9ea42bf650",
      "job_type": 4
    },
    "ConfidenceValue": "100"
  },
  "image_links": {
    "selfie_image": "https://smile-fr-results.s3.us-west-2.amazonaws.com/test/000000/023/023-0000001897-LoRSpxJUzmYgYS2R00XpaHJYLOiNXN/SID_Preview_FULL.jpg"
  },
  "code": "2302",
  "history": [
    {
      "ResultCode": "1210",
      "ResultText": "Enroll User",
      "SmileJobID": "0000000857",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info"
      }
    },
    {
      "ResultCode": "0814",
      "ResultText": "Provisional Enroll - Under Review",
      "SmileJobID": "0000000857",
      "ConfidenceValue": "97",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info"
      }
    },
    {
      "DOB": "1990-01-01",
      "IDType": "BVN",
      "Country": "Nigeria",
      "FullName": "Peter Parker",
      "ExpirationDate": "Not Available",
      "IDNumber": "A01234567",
      "ResultCode": "1012",
      "ResultText": "ID Validated",
      "SmileJobID": "0000000857",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info",
        "ExpirationDate": "Not Available"
      }
    }
  ]
}
```

{% endtab %}
{% endtabs %}

#### Example request

```json
{
    "history": <true || false>,
    "image_links": <true || false>,
    "job_id": "<Put job_id here>",
    "partner_id": "<Put your partner ID here>",
    "sec_key": "<Put calculated sec_key here>",
    "timestamp": "<Put timestamp here>",
    "user_id": "<Put user_id here>"
}
```

#### Response body fields

| Name                       | Description                                                                                                        |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| timestamp                  | The timestamp used to create the signature.                                                                        |
| sec\_key                   | The signature for this response.                                                                                   |
| user\_id                   | The unique user\_id that was either assigned, or passed in to this job.                                            |
| job\_id                    | The unique job\_id that was either assigned, or passed in to this job.                                             |
| job\_complete              | Whether or not we have reported a final status for this job.                                                       |
| job\_success               | Whether or not we were able to achieve a successful match and have enrolled or authenticated this user.            |
| result                     | This object will include the details of the final status.                                                          |
| result.ResultText          | A human readable result.                                                                                           |
| result.SmileJobID          | Our internal job id.                                                                                               |
| result.PartnerParams       | This should include the same user\_id and job\_id that you used to make the request.                               |
| result.ConfidenceValue     | A number representing our confidence in the final determination.                                                   |
| image\_links               | This object will contain the image captured during that job if the optional flag was passed in during the request. |
| image\_links.selfie\_image | An expiring link to the selfie image.                                                                              |
| code                       | A code that maps to an error condition or success.                                                                 |

Possible Result Codes:

| Code | Description                 |
| ---- | --------------------------- |
| 2301 | System error                |
| 2302 | Success                     |
| 2303 | Invalid JSON                |
| 2304 | Job not found               |
| 2305 | Invalid sec\_key            |
| 2307 | Enrolled user is disabled   |
| 2310 | No enrolled user found      |
| 2313 | Missing required parameters |

#### Example response

```json
{
  "timestamp": "2018-03-13T21:04:11.193Z",
  "signature": "5445722f5af1791eb434949cce9a88dd321e5959fd24a8562ecb12bb00c33fe",
  "job_complete": true,
  "job_success": true,
  "result": {
    "ResultText": "Enroll User",
    "SmileJobID": "0000001897",
    "PartnerParams": {
      "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
      "user_id": "e54e0e98-8b8c-4215-89f5-7f9ea42bf650",
      "job_type": 4
    },
    "ConfidenceValue": "100"
  },
  "image_links": {
    "selfie_image": "https://smile-fr-results.s3.us-west-2.amazonaws.com/test/000000/023/023-0000001897-LoRSpxJUzmYgYS2R00XpaHJYLOiNXN/SID_Preview_FULL.jpg"
  },
  "code": "2302",
  "history": [
    {
      "ResultCode": "1210",
      "ResultText": "Enroll User",
      "SmileJobID": "0000000857",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info"
      }
    },
    {
      "ResultCode": "0814",
      "ResultText": "Provisional Enroll - Under Review",
      "SmileJobID": "0000000857",
      "ConfidenceValue": "97",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info"
      }
    },
    {
      "DOB": "1990-01-01",
      "IDType": "BVN",
      "Country": "Nigeria",
      "FullName": "Peter Parker",
      "ExpirationDate": "Not Available",
      "IDNumber": "A01234567",
      "ResultCode": "1012",
      "ResultText": "ID Validated",
      "SmileJobID": "0000000857",
      "PartnerParams": {
        "job_id": "52d0de86-be3b-4219-9e96-8195b0018944",
        "user_id": "1511bf02-801a-4b57-ac8e-ef17e26bfeb4",
        "job_type": "1",
        "optional_info": "Partner can put whatever they want as long as it is a string",
        "more_optional_info": "There can be as much or as little or no optional info",
        "ExpirationDate": "Not Available"
      }
    }
  ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://legacy-docs.usesmileid.com/integration-options/rest-api/utilities.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
