VCNCreate VCN (Coming soon)

Create VCN (Coming soon)

🚧 Coming soon — this endpoint is not yet available in Sandbox or Production. The documentation is published so you can prepare your integration; we'll announce in the changelog when it goes live.

Issues a virtual card (VCN) for a hotel or air booking.

Authentication: in addition to the API key/secret (which identifies the client), this endpoint requires mTLS at the transport layer.

Returns PAN, CVV and expiration synchronously. The CVV is never persisted.

Send hotelBooking when type is HOTEL and flightBooking when it is AIR — never both at once.

Resending with the same Idempotency-Key returns the same VCN; reusing the key with a different payload returns 409.

curl -X POST "https://api-sandbox.contasimples.com/credit-cards/v1/vcns" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example_string" \
  -H "X-Origin: ACME_TRAVEL" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "type": "HOTEL",
  "amount": {
    "rate": 1200,
    "taxes": 280,
    "currency": "BRL"
  },
  "hotelBooking": {
    "checkIn": "2026-06-01",
    "checkOut": "2026-06-05",
    "guests": 1,
    "rooms": 1,
    "hotelName": "Ibis Styles Palmas",
    "confirmationId": "000001"
  },
  "customFields": [
    {
      "key": "CENTRO DE CUSTO",
      "value": "Engenharia"
    }
  ],
  "bookingId": "ACME-RES-998877"
}'
{
  "vcnId": "21624502",
  "bookingId": "ACME-AIR-554433",
  "type": "AIR",
  "card": {
    "pan": "4656350026056026",
    "cvv": "411",
    "expirationDate": "06/31",
    "holderName": "EXAMPLE COMPANY LTD"
  },
  "controls": {
    "spendLimit": {
      "value": 101,
      "currency": "BRL"
    },
    "maxTransactions": 2,
    "validity": {
      "start": "2026-06-09",
      "end": "2026-06-10"
    },
    "merchantCategory": "AIR"
  },
  "status": "ACTIVE",
  "createdAt": "2026-06-09T15:55:10Z"
}
POST
/credit-cards/v1/vcns
POST
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Bearer token from OAuth 2.0 client credentials. Format: Bearer {token}

Bearer token from OAuth 2.0 client credentials. Format: Bearer {token}
Content-Typestring
Required

The media type of the request body

Options: application/json
header
Idempotency-Keystring
Required

Dedupe — use the booking identifier (bookingId). A stable string, unique per booking.

Min length: 1 • Max length: 255
header
X-Originstring

Identifies the originating OBT. Assigned by Conta Simples during onboarding.

typestring
Required

Product type. Defines which booking block is required (HOTEL → hotelBooking, AIR → flightBooking).

Options: HOTEL, AIR
bookingIdstring
Required

Booking identifier on the OBT side. Basis for idempotency.

Min length: 1
amountobject
Required

Decimal values (e.g. 100.00), in the currency given by currency. The card limit equals rate + taxes.

customFieldsarray

Client governance fields (e.g. cost center, requester). They show up on the card statement/report and are available for reconciliation.

metadataarray

Additional extension fields (key/value), stored only at Conta Simples. Use only for data not covered by hotelBooking/flightBooking or customFields.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Bearer token from OAuth 2.0 client credentials. Format: Bearer {token}

Headers

Idempotency-Keystring
Required

Dedupe — use the booking identifier (bookingId). A stable string, unique per booking.

X-Originstring

Identifies the originating OBT. Assigned by Conta Simples during onboarding.

Example:
ACME_TRAVEL

Body

application/json
typestring
Required

Product type. Defines which booking block is required (HOTEL → hotelBooking, AIR → flightBooking).

Allowed values:HOTELAIR
bookingIdstring
Required

Booking identifier on the OBT side. Basis for idempotency.

amountobject
Required

Decimal values (e.g. 100.00), in the currency given by currency. The card limit equals rate + taxes.

hotelBookingobject
flightBookingobject
customFieldsarray

Client governance fields (e.g. cost center, requester). They show up on the card statement/report and are available for reconciliation.

metadataarray

Additional extension fields (key/value), stored only at Conta Simples. Use only for data not covered by hotelBooking/flightBooking or customFields.

Responses