Reveal VCN card data (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.
Returns the card data (PAN, CVV and expiration) of an already-issued VCN, identified by the vcnId returned by Create VCN. Issuance delivers this data only once β use this route to retrieve it again.
Security: the response carries PAN and CVV in clear text β keep them in memory only, do not log, do not cache (the response comes with Cache-Control: no-store) and prefer single display in your interface. The vcnId must belong to the authenticated client; otherwise, 404.
curl -X GET "https://api-sandbox.contasimples.com/credit-cards/v1/vcns/01JQ8ZK7X4M8N2P5R6T7V8W9XY/reveal" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://api-sandbox.contasimples.com/credit-cards/v1/vcns/01JQ8ZK7X4M8N2P5R6T7V8W9XY/reveal"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api-sandbox.contasimples.com/credit-cards/v1/vcns/01JQ8ZK7X4M8N2P5R6T7V8W9XY/reveal", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api-sandbox.contasimples.com/credit-cards/v1/vcns/01JQ8ZK7X4M8N2P5R6T7V8W9XY/reveal", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api-sandbox.contasimples.com/credit-cards/v1/vcns/01JQ8ZK7X4M8N2P5R6T7V8W9XY/reveal')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"pan": "4111111111111111",
"cvv": "123",
"expirationDate": "06/2031"
}
{
"error": "Unauthorized",
"message": "Invalid or expired access token.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 401
}
{
"error": "Forbidden",
"message": "You do not have permission to perform this operation.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 403
}
{
"code": "vcn-not-found",
"message": "VCN not found"
}
{
"code": "internal-exception",
"message": "Aconteceu um erro"
}
/credit-cards/v1/vcns/{vcnId}/revealTarget server for requests. Edit to use your own host.
Bearer token from OAuth 2.0 client credentials. Format: Bearer TOKEN
Bearer TOKENVCN identifier returned at issuance (vcnId field).
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Bearer token from OAuth 2.0 client credentials. Format: Bearer TOKEN
Path Parameters
VCN identifier returned at issuance (vcnId field).
01JQ8ZK7X4M8N2P5R6T7V8W9XYResponses
Card number (PAN). Must not be logged.
Security code (CVV).
Physical card expiration, in MM/YYYY format β two-digit month and four-digit year (e.g. 06/2031 = June 2031).