Feel free to reach techsupport@surepass.io for any technical support or guidance.
client_id that you can use to poll for results.hit_size, you control how many matching records are retrieved. The API returns a unique client_id and a pending status, indicating the search has been queued and is being processed.hit_size parameter (1–10) lets you control the number of matching establishment records returned, keeping responses focused and relevant.Authorization header as Bearer TOKEN.https://sandbox.surepass.apphttps://kyc-api.surepass.app| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token in the format Bearer <JWT_TOKEN>. Use the token corresponding to your target environment (sandbox or production). |
Content-Type | Yes | Must be application/json. |
| Parameter | Type | Required | Description |
|---|---|---|---|
establishment_name | String | Yes | The name of the EPFO-registered establishment to search for. Example: "FIRST BANK LIMITED". |
hit_size | Integer | Optional | The number of matching establishment records to retrieve. Accepted values: 1 to 10 (inclusive). |
{
"establishment_name": "FIRST BANK LIMITED",
"hit_size": 5
}| Parameter | Type | Description |
|---|---|---|
data | Object | Top-level container for the response payload. |
data.client_id | String | A unique identifier for this async request. Use this client_id to poll the status/result endpoint. |
data.establishment_name | String | The establishment name as submitted in the request, echoed back for confirmation. |
data.hit_size | Integer | The hit_size value as submitted in the request, echoed back for confirmation. |
data.status | String | Current processing status of the async request. On initialization, this will always be "pending". |
status_code | Integer | HTTP-equivalent status code for the operation. 200 indicates the request was accepted successfully. |
success | Boolean | true if the initialization request was accepted and queued successfully; false otherwise. |
message | String | A human-readable summary of the response outcome. Example: "Success". |
message_code | String | A machine-readable code representing the response outcome. Example: "success". |
{
"data": {
"client_id": "establishment_name_to_details_async_qShvUrsPSmpdYmwckaPt",
"establishment_name": "FIRST BANK LIMITED",
"hit_size": 5,
"status": "pending"
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}{
"status_code": 401,
"success": false,
"message": "Authentication credentials were not provided or are invalid.",
"message_code": "authentication_failed"
}Authorization header is missing, the JWT token is malformed, expired, or does not match the target environment (sandbox vs. production).https://sandbox.surepass.app) for development and testing. Never use production tokens in non-production systems.client_id: After a successful initialization, persist the returned client_id immediately — it is the only way to retrieve the results of your async query.client_id, implement a reasonable polling interval (e.g., 2–5 seconds) with a maximum retry limit to avoid overwhelming the API.pending Status Gracefully: The "pending" status on initialization is expected and normal. Design your application flow to wait and retry rather than treating it as an error.hit_size: Choose a hit_size appropriate to your use case. A smaller value (e.g., 1–3) is suitable when you expect an exact match; a larger value (up to 10) is better when the name may have variations or duplicates.client_id for Auditing: For compliance and debugging purposes, log the client_id alongside the request timestamp and establishment_name in your system.client_id from this Initialize endpoint to poll for the processing status and fetch the final establishment details once ready.curl --location 'https://kyc-api.surepass.app/api/v1/epfo-async/establishment-name-to-details/initialize' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"establishment_name": "FIRST BANK LIMITED"
}'{
"data": {
"client_id": "establishment_name_to_details_async_qShvUrsPSmpdYmwckaPt",
"establishment_name": "FIRST BANK LIMITED",
"hit_size": 5,
"status": "pending"
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}