Card statement
Returns card transactions for a date range. The response is paginated and includes card, category, cost center, status, and attachments.
Rules:
- The range between
startDateandendDatemust not exceed 62 days. limitmust be between 5 and 100 per page.- Use
nextPageStartKeyto paginate (cursor).
curl -X GET "https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=["PURCHASE"]&nextPageStartKey=example_string" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://api-sandbox.contasimples.com/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=["PURCHASE"]&nextPageStartKey=example_string"
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/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=["PURCHASE"]&nextPageStartKey=example_string", {
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/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=["PURCHASE"]&nextPageStartKey=example_string", 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/statements/v1/credit-card?limit=50&startDate=2025-09-01&endDate=2025-09-30&types=["PURCHASE"]&nextPageStartKey=example_string')
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
{
"transactions": [
{
"id": "example_string",
"operation": "CASH_IN",
"transactionDate": "2025-09-15T14:30:00.000Z",
"status": "PENDING",
"isCanceled": true,
"type": "PURCHASE",
"merchant": "example_string",
"amountBrl": 150.75,
"exchangeRateUsd": 0,
"card": {
"id": "example_string",
"maskedNumber": "example_string",
"responsibleName": "John Doe",
"responsibleEmail": "user@example.com",
"type": "VIRTUAL"
},
"category": {
"id": "example_string",
"name": "Food & dining"
},
"costCenter": {
"id": "example_string",
"name": "Marketing"
},
"isConciled": true,
"installment": 1,
"attachments": [
{
"id": "example_string",
"name": "receipt.pdf",
"type": "image/jpeg",
"_links": {
"content": {
"href": "/attachments/v1/content/{id}",
"rel": "GET"
}
}
}
],
"notes": "example_string"
}
],
"nextPageStartKey": "example_string"
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Not Found",
"message": "The requested resource was not found",
"code": 404
}
{
"error": "Internal Server Error",
"message": "An unexpected error occurred on the server",
"code": 500,
"requestId": "req_1234567890"
}
/statements/v1/credit-card
Bearer token from OAuth 2.0 client credentials. Format: Bearer {token}
Bearer {token}Maximum number of transactions per page. Min: 5, max: 100.
Start of the date range (YYYY-MM-DD). The full range may not exceed 62 days.
End of the date range (YYYY-MM-DD). The full range may not exceed 62 days.
Optional filter by transaction type(s).
Opaque pagination token from the previous response. Pass it back unchanged to fetch the next page.
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}
Query Parameters
Maximum number of transactions per page. Min: 5, max: 100.
Start of the date range (YYYY-MM-DD). The full range may not exceed 62 days.
End of the date range (YYYY-MM-DD). The full range may not exceed 62 days.
Optional filter by transaction type(s).
Opaque pagination token from the previous response. Pass it back unchanged to fetch the next page.
Responses
Transactions in the requested range.
Transaction ID.
Operation type.
CASH_INCASH_OUTTransaction date/time (ISO 8601).
Current status.
PENDINGPROCESSEDCANCELEDWhether the transaction was canceled.
Transaction subtype.
PURCHASEPURCHASE_INTERNATIONALPURCHASE_BNPLWITHDRAWWITHDRAW_INTERNATIONALWITHDRAW_FUNDSBALANCE_INQUIRYPAYMENT_PLAN_INQUIRYREFUNDREFUND_INTERNATIONALREFUND_CREDIT_ADJUSTMENTREVERSAL_CREDIT_ADJUSTMENTREFUND_IOFREFUND_PURCHASE_BNPLIOFLIMITLIMIT_CREDITSUMMARYBILL_TARIFFREFUND_BILL_TARIFFINVOICE_PAYMENTMerchant name where the purchase occurred.
Transaction amount in BRL.
USD exchange rate for international items — for audit reference only.
Card data for the transaction.
Unique card identifier.
Masked card number (e.g. **** **** **** 1234).
Name of the person responsible for the card.
Email of the person responsible for the card.
Card type.
VIRTUALPHYSICALExpense category for the transaction.
Unique category identifier.
Category name (e.g. Food & dining, Travel).
Cost center for the transaction.
Unique cost center identifier.
Cost center name.
Whether the transaction was reconciled.
Installment number.
Attachment list (receipts, invoices, etc.).
Attachment ID. Use it with GET /attachments/v1/content/{attachmentId} to download.
Attachment file name.
File MIME type inferred from the file extension (.jpg/.jpeg, .png, or .pdf). Omitted when unknown.
image/jpegimage/pngapplication/pdfLinks to download the attachment content.
HATEOAS link to a related resource.
Relative URL of the linked resource.
HTTP method to access the resource.
User note.
Next page token. If absent, there is no next page. Pass to nextPageStartKey.
Invalid request. Check the parameters (dates, limit, format).
Unauthorized. Token missing, invalid, or expired.
Resource not found. Check IDs, paths, and permissions.
Internal server error. Retry with exponential backoff.
Last updated today
Built with Documentation.AI