Cards - Create and tokenize
Cadastra e tokeniza um cartão para cobranças futuras. Dados sensíveis seguem PCI via fluxo da plataforma.
Cadastra e tokeniza um cartão para cobranças futuras. Dados sensíveis seguem PCI via fluxo da plataforma.
Authorization
SelectKeyAuth API key for all authenticated requests. Send your key in the selectkey header (e.g. sandbox sl_test_…, production sl_live_…).
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/cards" \ -H "Content-Type: application/json" \ -d '{ "customerId": "cus_abc123", "holderName": "JOAO SILVA", "expirationMonth": 12, "expirationYear": 2028, "numbering": "4111111111111111", "securityCode": "123", "primary": true }'{
"id": "card_01hqzvabc",
"holderName": "JOÃO SILVA",
"brand": "visa",
"firstDigits": "411111",
"lastDigits": "1111",
"expirationMonth": "12",
"expirationYear": "2025",
"primary": true,
"active": true,
"valid": true,
"verified": true,
"associated": true,
"updatedAt": "2026-04-12T17:56:33.000Z",
"createdAt": "2026-04-12T17:56:33.000Z",
"metadata": {},
"merchant": {
"name": "Seller Name",
"merchantId": "bus_1234567890",
"isSubAccount": false
},
"_links": {
"self": {
"href": "https://api.selectwin.io/v1/cards/card_01hqzvabc",
"method": "GET",
"description": "Read a card."
},
"create": {
"href": "https://api.selectwin.io/v1/cards",
"method": "POST",
"description": "Create a new card."
},
"update": {
"href": "https://api.selectwin.io/v1/cards/card_01hqzvabc",
"method": "PUT",
"description": "Update the card."
},
"delete": {
"href": "https://api.selectwin.io/v1/cards/card_01hqzvabc",
"method": "DELETE",
"description": "Delete the card."
},
"list": {
"href": "https://api.selectwin.io/v1/cards",
"method": "GET",
"description": "List all cards."
}
}
}{
"error": {
"status": "Bad Request",
"statusCode": 400,
"category": "validation",
"message": "Validation errors occurred",
"details": "One or more parameters are invalid or out of range. Please check the parameters and try again.",
"params": [
{
"payment[currency]": "currency must be one of [BRL]"
},
{
"amount": "amount is required"
}
],
"code": "invalidParameters",
"resource": "client"
}
}{
"error": {
"status": "Unauthorized",
"statusCode": 401,
"category": "authentication",
"message": "Unauthorized",
"details": "Authentication failed. The provided API key is invalid or does not have permission to operate.",
"code": "unauthorized"
}
}{
"error": {
"status": "Forbidden",
"statusCode": 403,
"category": "authorization",
"message": "Forbidden",
"details": "Access denied. This may be due to IP blocks, domain restrictions, or insufficient permissions.",
"code": "forbidden"
}
}{
"error": {
"status": "Not Found",
"statusCode": 404,
"category": "client",
"message": "Not Found",
"details": "The requested resource was not found on the server.",
"code": "notFound"
}
}{
"error": {
"status": "Unprocessable Entity",
"statusCode": 422,
"category": "validation",
"message": "Unprocessable Entity",
"details": "The request was understood, but contains invalid data that could not be processed.",
"code": "unprocessableEntity"
}
}{
"error": {
"status": "Too Many Requests",
"statusCode": 429,
"category": "rate_limit",
"message": "Too Many Requests",
"details": "The number of requests exceeded the limit allowed for the IP or user.",
"retryAfterMinutes": 60,
"code": "tooManyRequests"
}
}{
"error": {
"status": "Internal Server Error",
"statusCode": 500,
"category": "server",
"message": "Server error.",
"details": "An internal server error occurred. Please try again later.",
"code": "serverError",
"resource": "server"
}
}