/{organizationId}/{mandateId}/booking/punchCards/issued/listList issued punch cards
Returns a list of issued punch cards for a given mandate
Required permissions:
mandate.read
event.read
Path Parameters
organizationIdstringrequired mandateIdstringrequired Request Body required
Content-Type: application/json
limitintegeroptional Default: 50
minimum: 0
maximum: 100
offsetintegeroptional Default: 0
minimum: 0
maximum: 9007199254740991
returnCountbooleanoptional Default: false
punchCardIdstringoptional viewstringoptional Options:
validexpiredunusedusedlockedcanceledsearchTermstringoptional Authentication: X-API-Key
Request
curl --request POST 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/punchCards/issued/list' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"sort": {},
"limit": 50,
"offset": 0
}'Responses
This endpoint returns different response codes based on the request outcome.
200Successful response
Content-Type: application/json
countintegerrequired minimum: 0
maximum: 9007199254740991
Response
{
"count": 0,
"issuedPunchCards": [
{
"_id": "000000000000000000000001",
"number": "string",
"buyer": {
"type": "business",
"name": "string",
"nameNormalized": "string",
"nameSort": "string",
"email": "",
"phone": "",
"address": {
"country": "string",
"state": "string",
"zip": "string"
},
"userId": "string",
"contact": "000000000000000000000001",
"payment": {
"paymentMethod": "sepaCreditTransfer",
"sepaDirectDebit": {
"iban": "string",
"bic": "string"
},
"online": {
"paymentIntent": "000000000000000000000001",
"provider": null
}
}
},
"punchCard": "000000000000000000000001",
"punchCardName": "string",
"validTo": "2026-06-15T22:30:00Z",
"availablePoints": 0,
"usedPoints": 0,
"lockedAt": "2026-06-15T22:30:00Z",
"receipt": {
"receiptId": "000000000000000000000001",
"receiptNumber": "string",
"paymentStatus": "unpaid"
},
"cancelationReceipt": {
"receiptId": "000000000000000000000001",
"receiptNumber": "string",
"paymentStatus": "unpaid"
},
"canceledAt": "2026-06-15T22:30:00Z",
"activationStatus": "unpaid"
}
]
}400Invalid input data
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}401Authorization not provided
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}403Insufficient access
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}500Internal server error
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}