Get Card Production Status

This API returns the batch identified by correlationId and one result line for every card produced in that batch. The permission name in the database is BATCH_STATUS, described as "Get card production request status".

ItemValue
MethodGET
URL/card-management/api/v1/batch-process/status
HeaderAuthorization: Bearer <accessToken>
PermissionBATCH_STATUS on the client id inside the token
BodyNone

Request Parameters description

Field #Field nameData typeRequiredDescription
1correlationIdstringtrueCorrelation id returned when the production batch was submitted. Example: c30a4734ce184363995c08cea35f5f3a.

Sample Request

GET /card-management/api/v1/batch-process/status?correlationId=c30a4734ce184363995c08cea35f5f3a HTTP/1.1
Host: {host}
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example.signature

Response Message field description

FieldTypeDescription
idnumberInternal batch row id.
statusstringBatch status.
batchIdnumberBatch id. Card rows are loaded with this id.
countnumberNumber of cards requested in the batch.
preparedCountnumberNumber of cards prepared.
createdCountnumberNumber of cards created.
responseCodestringBatch response code.
responseMessagestringBatch response message.
jobNonumberPersonalization job number.
autoUploadStatusstringAuto-upload status.
dataPrepStatusstringData-prep status.
createdBystringUser or system that created the batch.
preparedDatestringTimestamp when the card file was prepared.
creationDatestringDate and time the batch was created.
updatedDatestringDate and time the batch was last updated.
correlationIdstringCorrelation id from the query.
dataPrepResponsestringData-prep response text.
dataPrepRequestIdnumberData-prep request id.
cardDataFilenamestringName of the prepared card-data file.
autoPersoUploadbooleanWhether automatic personalization upload is enabled.
financialInstitutionstringFinancial institution for the batch.
reconciliationStatusstringReconciliation status against the smart-card platform.
reconciliationAttemptCountnumberNumber of reconciliation attempts.
lastScpQueryAtstringTime of the last smart-card status query.
nextScpQueryAtstringTime of the next smart-card status query.
reconciliationMessagestringReconciliation message.

cardRequestResponses

FieldTypeDescription
cardRequestIdstringCard reference for that production row.
responseMessagestringResult for that card. The value depends on the stored error code.

Sample Response (Success)

{
    "code": "200",
    "description": "Successful",
    "batchProcess": {
        "id": 20114,
        "status": "FAILED",
        "batchId": 20114,
        "count": 2,
        "preparedCount": 0,
        "createdCount": 0,
        "responseCode": "99",
        "responseMessage": "No cards produced.",
        "jobNo": null,
        "autoUploadStatus": null,
        "dataPrepStatus": null,
        "createdBy": "[email protected]",
        "preparedDate": null,
        "creationDate": "2025-01-29T12:32:34.56",
        "updatedDate": "2025-01-29T12:32:38.713",
        "correlationId": "e29bffe6e112447288031bd6m460c20d",
        "dataPrepResponse": null,
        "dataPrepRequestId": null,
        "cardDataFilename": null,
        "autoPersoUpload": true,
        "financialInstitution": "Interswitch"
    },
    "cardRequestResponses": [
        {
            "cardRequestId": "d59c7fbe9869444d9f35d0f506d17020",
            "responseMessage": "Account: 2849753061 already exists."
        },
        {
            "cardRequestId": "b0630ffbc1574662b778f74c1c99b394",
            "responseMessage": "Account: 4792861350 already exists."
        }
    ]
}

Error Responses

HTTP 400, query parameter omitted. correlationId is required by the API. code is 400 BAD_REQUEST. description is Required request parameter 'correlationId' for method parameter type String is not present. errors[0].message is correlationId. errors[0].fieldName is correlationId parameter is missing.

{ 
  "code": "400 BAD_REQUEST",
  "description": "Required request parameter 'correlationId' for method parameter type String is not present", 
  "correlationId": "",
  "errors": [ 
    { 
      "message": "correlationId",
      "fieldName": "correlationId parameter is missing" 
    }

  ]
}

HTTP 400, correlation id is present but empty. code is 400. description is Correlation ID is required.

{ 
  "code": "400",
  "description": "Correlation ID is required."
}

HTTP 401, token missing or rejected. The resource server rejects the call before the batch lookup. Send the accessToken from Card 360 Login in the Authorization header.

HTTP 403, client lacks BATCH_STATUS. The token is valid and the client is not allowed to call this path.

{ 
  "code": "403", 
  "description": "Access denied. Required permission: BATCH_STATUS" 
}

HTTP 404, no batch for that correlation id.

{ 
  "code": "404",
  "description": "No batch found",
  "correlationId": "c30a4734ce184363995c08cea35f5f3a" 
}

Call sequence

  1. POST /card-management/login with clientId, clientSecret, and scope.

  2. Read accessToken from the 200 response.

  3. GET /card-management/api/v1/batch-process/status?correlationId={correlationId} with header Authorization: Bearer {accessToken}.

  4. Read batchProcess for the batch, and cardRequestResponses for each card. Use responseMessage on each card as the production result for that card reference.


Did this page help you?