VCNUpdate VCN (Coming soon)

Update VCN (Coming soon)

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

Updates an already-issued CUSTOM VCN without swapping the card β€” the PAN stays the same. This is where the ceiling top-up and the extension (or shortening) of the validity happen. Send only what you want to change (at least one field); a field you do not send does not change. AERIAL and HOTEL VCNs are not updatable β€” their controls derive from the booking (409 vcn-not-updatable).

⚠️ limit.value is the window's ACCUMULATED ceiling β€” not a balance, not an increment. The available amount is computed by the card network (available = ceiling βˆ’ spent). To add credit, send new total = current ceiling + credit. E.g. ceiling 100.01 and a new R$ 80 sale β†’ send 180.01; sending 80.00 drops the ceiling below what was already spent and every capture starts being declined. The response returns the current ceiling so you can close the loop; with parallel top-ups, use limit.expectedValue.

Each field's rules are documented on the field itself, below; each error's behavior, under Responses.

curl -X PATCH "https://api-sandbox.contasimples.com/credit-cards/v1/vcns/01JQ8ZP4C7D9F1G3H5J7K9L2MN" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "limit": {
    "value": 350,
    "expectedValue": 0.01
  }
}'
{
  "vcnId": "01JQ8ZP4C7D9F1G3H5J7K9L2MN",
  "limit": {
    "value": 350,
    "currency": "BRL"
  },
  "endDate": "2026-10-27",
  "maxPurchaseQuantity": 10000,
  "updatedAt": "2026-08-24T09:15:40.000Z"
}
PATCH
/credit-cards/v1/vcns/{vcnId}
PATCH
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
path
vcnIdstring
Required

VCN identifier returned at issuance (vcnId field).

Content-Typestring
Required

The media type of the request body

Options: application/json
limitobject

Top-up or adjustment of the spending ceiling.

endDatestring

New end of the usage window, YYYY-MM-DD β€” the same field name as on issuance. Can go up and down. Must be in the future and never beyond 365 days from issuance β€” the cap counts from issuance, so top-ups do not push the validity. Changing limit does not change the validity: for both, send both fields.

Format: date
maxPurchaseQuantityinteger

Maximum number of authorizations, up to 100000.

Min: 1 β€’ Max: 100000
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

Path Parameters

vcnIdstring
Required

VCN identifier returned at issuance (vcnId field).

Example:
01JQ8ZP4C7D9F1G3H5J7K9L2MN

Body

application/json
limitobject

Top-up or adjustment of the spending ceiling.

endDatestring

New end of the usage window, YYYY-MM-DD β€” the same field name as on issuance. Can go up and down. Must be in the future and never beyond 365 days from issuance β€” the cap counts from issuance, so top-ups do not push the validity. Changing limit does not change the validity: for both, send both fields.

Example:
2026-11-15
maxPurchaseQuantityinteger

Maximum number of authorizations, up to 100000.

Example:
10000

Responses

vcnIdstring
Required

Echo of the identifier.

limitstring
Required

Ceiling in effect after the operation β€” store it and add the next credit on top of it.

endDatestring
Required

Current end of the usage window, YYYY-MM-DD β€” the same name and the same format as the field on issuance.

maxPurchaseQuantityinteger
Required

Effective value in effect.

updatedAtstring
Required

Timestamp of this update (UTC).