Bulk Status Request API Specification
This endpoint allows you to check the current status of a bulk request using the taskId provided during the request submission. By querying this endpoint, you can determine when the result file is ready to be fetched or if any errors occurred during processing. The response will include the current status of the bulk request.
Document History
Expand to view the version history.
Version | Date | Description |
---|---|---|
1.0 | 15 Jan 2025 | Original Digital Version. Aligned with PDF V1.0 |
1.1 | 20 Feb 2025 | Updated Language in request header from ISO639 to ISO639-1 |
2.0 | 20 Mar 2025 | Format changes. Refer to detailed changes here. |
2.1 | 16 Apr 2025 | Added the following new headers: X-End-User, X-Software-Supplier and X-Channel |
2.2 | 21 Jul 2025 | Removed Content-Type from headers. Accept Header updated to optional, default value added. Error Handling section added. |
List of Statuses
The status field can have one of the following values:
Status | Description |
---|---|
NOT_STARTED | The file is in the queue, waiting to be processed. |
IN_PROGRESS | The file is actively being processed, and individual records are being checked. |
PROCESSED | The file has been successfully processed and is ready to be fetched. |
FAILED | The file processing failed due to one of the following reasons: invalid format, corruption, or exceeding the maximum size/record limit. |
TIMED_OUT | The file was not processed within the service-level agreement (SLA) timeframe. This could be due to timeouts from the responding PSPs. |
Request
Request Body
This endpoint does not require a request body. The taskId is passed as a path parameter.
taskId
StringMandatory
Request
GET /vopgateway/v1/bulk/12930484-129284501-ecernb/status
Response
Response Body
status
EnumMandatorydetail
StringConditional
Response
{
"status": "IN_PROGRESS"
}
Error Handling
Status and Error Codes
When an application error message occurs, an HTTP status code will be returned with an error message. The table below reflects the used HTTP status codes in case of a technical error.
HTTP Status Code | Description |
---|---|
200 - OK | The request has succeeded. |
400 - Bad request | Request has malformed, missing or non-compliant JSON body or URL parameters. |
401 - Unauthorised | Authorization header missing or invalid token. |
403 - Forbidden | Token has incorrect scope or a security policy was violated. |
405 - Method not Allowed | The Requester tried to access the resource with a method that is not supported. |
406 - Not Accepted | The request contained an Accept header that requested a content-type other than application/json and/or a character set other than UTF-8. |
415 - Unsupported Media Type | The request contained a Content-Type header other than application/x-ndjson and/or a character set other than UTF-8. |
429 - Too Many Requests | Too many requests towards the endpoint. |
500 - Internal server error | Something went wrong on the Bulk API or service. In this case the body might contain extra details. This error can also be returned if the upstream service returns an error. |
Error Response
Error Response Headers
X-Request-Id
StringMandatoryContent-Type
StringMandatory
Example of Error Response Headers
Header name | Example |
---|---|
X-Request-Id | 123e4567-e89b-12d3-a456-426614174000 |
Content-Type | application/json;charset=utf-8 |
Error Response Body
status
IntegerOptionaltype
StringMandatorycode
StringMandatorytitle
StringOptionaldetail
StringOptionalinstance
String
Error response
[
{
"status": 400,
"type": "https://developer.surepay.nl/vop-bulk-for-banks/status-and-errorcodes",
"code": "FORMAT_ERROR",
"title": "INVALID_FIELD",
"detail": "Field 'taskId' must be a UUID",
"instance": "/vopgateway/v1/bulk/abc/status"
}
]
Functional Errors
Error table
The following table contain a list of error code values:
Error Message Code | HTTP Code | Title | Detailer Error |
---|---|---|---|
FORMAT_ERROR | 400 | INVALID_HEADER | The provided value for the header ‘___’ differs from the expected format. Possible values : X-Request-Id, Accepted-Language, Content-Type and Authorization |
FORMAT_ERROR | 400 | MANDATORY_HEADER_NOT_PROVIDED | A mandatory header ‘___’ has not been provided, therefore the request cannot be sent. Possible values : 'X-Request-Id', 'Content-Type' and 'Authorization' |
FORMAT_ERROR | 400 | INVALID_FIELD | The provided taskId in the request does not comply with the expected structure. |