Jeeves Public API (1.0.0)

Introduction

The Jeeves API is built around REST principles. Our API accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes.

Authentication

The Jeeves API uses mTLS and OAuth 2.0 to authenticate requests. You can request your mTLS certificate and OAuth 2.0 credentials in both sandbox and production environments by reaching out to our support team.

All API requests will only work over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Errors

The Jeeves API uses standard HTTP response codes to indicate the success or failure of an API request. In general: codes in the 2XX range indicate success; codes in the 4XX range indicate an error in the information provided; codes in the 5XX range indicate an internal error with Jeeves application/server.

Currently, the Jeeves API has the following HTTP responses:

CodeResponseDescription
200OkObject was returned as expected.
201OkObject was created as expected.
204OkNo return, but request was processed as expected.
400Bad requestAt least one argument is wrong or missing.
401UnauthorizedNo valid API token provided.
403ForbiddenThe API token doesn't have permission to perform the request.
404Not foundThe requested resource doesn't exist.
500Server errorAn internal error at Jeeves.
Download OpenAPI description
Languages
Servers
https://public-sandbox.tryjeeves.com/
https://public-api.jeev.es/

Boletos

The Boleto API supports the full boleto lifecycle, enabling clients to create, retrieve, extend, and cancel boletos via secure integration. It also supports Bolepix, which adds a Pix QR code to the boleto for instant settlement through Pix rails. For boletos paid via barcode or digitable line, the API provides an early payment notice before final settlement - offering visibility of the payment up to one day in advance, with guaranteed settlement. For boletos paid via Pix (via Bolepix), the boleto is marked as paid directly, as settlement is immediate.

Operations

Cards

The Card API supports the full card lifecycle, enabling clients to create, retrieve, and update cards via secure integration. Use POST /v1/cards/transactions with the source field to query card or travel transactions in a single endpoint.

Operations

Transactions

The Transactions API enables clients to retrieve card and payment transactions via secure integration. Supports filtering by date range and pagination for efficient data retrieval.

Operations

Get a list of payment transactions

Request

You can get all completed payment transactions filtered by date range.

Query
pageCursorstring or null

Page number to retrieve.

Default null
Example: pageCursor=2
pageSizenumber[ 1 .. 500 ]

Number of items returned per page.

Default 20
Example: pageSize=15
startDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....

Transactions occurring on or after this date will be included.

Default "previous day at 00:00:00"
Example: startDate=2025-01-29 15:12:49
endDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....

Transactions occurring on or before this date will be included. Limitations - must be greater than the startDate.

Default "previous day at 23:59:59"
Example: endDate=2025-01-30 17:35:55
Headers
Accept-Languagestring

Language code used for localization.

Default en-US
Enum"en-US""es-MX""pt-BR"
Example: en-US
curl -i -X GET \
  'https://public-sandbox.tryjeeves.com/v1/payments/transactions?endDate=2025-01-30%2017%3A35%3A55&pageCursor=2&pageSize=15&startDate=2025-01-29%2015%3A12%3A49' \
  -H 'Accept-Language: en-US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

List of all completed payment transactions sorted by creation date.

Bodyapplication/json
linksobject(TransactionResponseLinks)required
links.​nextstring or nullrequired

Link to the next page; null if there is no next page. For deprecated GET transaction endpoints, this may contain a URL with query parameters. For POST /v1/cards/transactions, this field is always null — use pagination.nextCursor in the next request body instead.

Example: "/v1/transactions?pageCursor=MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq"
paginationobject(TransactionResponsePagination)required
pagination.​pageSizenumberrequired

Number of transactions returned by page.

Default 20
Example: 5
pagination.​totalCountnumberrequired

Total number of transactions for your call.

Example: 41
pagination.​nextCursorstring or null

The cursor pointing to the next page; null if there's no next page.

Example: "MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq"
pagination.​hasNextbooleanrequired

True if there's a next page; false otherwise.

Example: true
dataArray of objects(PaymentTransactionDto)required

List of all completed payment transactions sorted by creation date.

data[].​idstringrequired

Unique identifier of a transaction.

Example: "123e4567-e89b-12d3-a456-426614174000"
data[].​productTypestringrequired

It identifies if the card is on credit line or self funded.

Enum"credit_line""self_funded"
Example: "credit_line"
data[].​companyobjectrequired
data[].​company.​idstringrequired

Company identification within Jeeves.

Example: "361c697b-8d82-11ec-a51a-0ea06e4de10b"
data[].​company.​namestringrequired

Company name within Jeeves.

Example: "Acme Corporation"
data[].​userobjectrequired
data[].​user.​idstringrequired

User identifier within Jeeves.

Example: "d5d5c940-3c58-4ecc-b772-fe20e764ed70"
data[].​user.​namestringrequired

User full name.

Example: "John Doe"
data[].​user.​emailstringrequired

User email address.

Example: "john.doe@acmecorp.com"
data[].​vendorobjectrequired
data[].​vendor.​idstringrequired

Vendor identifier within Jeeves.

Example: "c8ddf33f-6244-4218-af7e-7a6fe0b13528"
data[].​vendor.​namestringrequired

Vendor name defined by the user.

Example: "Omni Corporation"
data[].​transactionTypestringrequired

Debit for purchases and fees; credit for payments and refunds.

Enum"debit""credit"
Example: "debit"
data[].​transactionDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....required

The date and time the transaction occurred, in UTC.

Example: "2025-01-29 16:22:51"
data[].​settlementDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....required

The date and time the transaction was settled, in UTC.

Example: "2025-01-30 08:00:03"
data[].​transactionAmountnumberrequired

Transaction amount in account currency.

Example: 741.33
data[].​transactionCurrencystringrequired

Currency code of the transaction amount (ISO 4217).

Example: "BRL"
data[].​localTransactionAmountnumberrequired

Transaction amount in the currency of the transaction location.

Example: 127.59
data[].​localTransactionCurrencystringrequired

Currency code of the local transaction amount (ISO 4217).

Example: "USD"
data[].​paymentPurposestring

Purpose of the payment, if any.

Example: "Utility payment to Electric Company"
Response
application/json
{ "links": { "next": "/v1/transactions?pageCursor=MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq" }, "pagination": { "pageSize": 5, "totalCount": 41, "nextCursor": "MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq", "hasNext": true }, "data": [ {} ] }

Get a list of card transactionsDeprecated

Request

Deprecated. Use POST /v1/cards/transactions with "source": "cards" instead.

You get a list of card transactions belonging to your company.

Query
pageCursorstring

Page number to retrieve.

Example: pageCursor=6e6578742d637572736f722d6578616d706c652d6e6578742d637572736f722d6578616d706c652d6e
pageSizenumber

Number of transactions returned by page.

Default 20
startDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....

Transactions occurring on or after this date will be included.

Default "previous day at 00:00:00"
Example: startDate=2025-01-29 15:12:49
endDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....

Transactions occurring on or before this date will be included. Limitations - must be greater than the startDate.

Default "previous day at 23:59:59"
Example: endDate=2025-01-30 17:35:55
Headers
Accept-Languagestring

Language code used for localization.

Default en-US
Enum"en-US""es-MX""pt-BR"
Example: en-US
curl -i -X GET \
  'https://public-sandbox.tryjeeves.com/v1/transactions?endDate=2025-01-30%2017%3A35%3A55&pageCursor=6e6578742d637572736f722d6578616d706c652d6e6578742d637572736f722d6578616d706c652d6e&pageSize=20&startDate=2025-01-29%2015%3A12%3A49' \
  -H 'Accept-Language: en-US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

List of all transactions with all details.

Bodyapplication/json
linksobject(TransactionResponseLinks)required
links.​nextstring or nullrequired

Link to the next page; null if there is no next page. For deprecated GET transaction endpoints, this may contain a URL with query parameters. For POST /v1/cards/transactions, this field is always null — use pagination.nextCursor in the next request body instead.

Example: "/v1/transactions?pageCursor=MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq"
paginationobject(TransactionResponsePagination)required
pagination.​pageSizenumberrequired

Number of transactions returned by page.

Default 20
Example: 5
pagination.​totalCountnumberrequired

Total number of transactions for your call.

Example: 41
pagination.​nextCursorstring or null

The cursor pointing to the next page; null if there's no next page.

Example: "MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq"
pagination.​hasNextbooleanrequired

True if there's a next page; false otherwise.

Example: true
dataArray of objects(TransactionDto)required

List of all transactions with all details.

data[].​idstringrequired

Unique identifier of a transaction.

Example: "123e4567-e89b-12d3-a456-426614174000"
data[].​productTypestringrequired

It identifies if the card is on credit line or self funded.

Enum"credit_line""self_funded"
Example: "credit_line"
data[].​companyobjectrequired
data[].​company.​idstringrequired

Company identification within Jeeves.

Example: "361c697b-8d82-11ec-a51a-0ea06e4de10b"
data[].​company.​namestringrequired

Company name within Jeeves.

Example: "Acme Corporation"
data[].​userobjectrequired
data[].​user.​idstringrequired

User identifier within Jeeves.

Example: "d5d5c940-3c58-4ecc-b772-fe20e764ed70"
data[].​user.​namestringrequired

User full name.

Example: "John Doe"
data[].​user.​emailstringrequired

User email address.

Example: "john.doe@acmecorp.com"
data[].​cardobjectrequired
data[].​card.​idstringrequired

Card identifier within Jeeves.

Example: "c8ddf33f-6244-4218-af7e-7a6fe0b13528"
data[].​card.​namestringrequired

Card label defined by the user.

Example: "Travel Card"
data[].​card.​typestringrequired

Card type.

Enum"Physical""Virtual"
Example: "Physical"
data[].​card.​numberstringrequired

Last 4 digits of the card number.

Example: "9876"
data[].​merchantobjectrequired
data[].​merchant.​namestring<= 150 charactersrequired

Name of the merchant where the transaction happened.

Example: "STARBUCKS SAO PAULO BRA"
data[].​merchant.​mccstring

Merchant Category Code (MCC) used by the merchant.

Example: "5814"
data[].​merchant.​mccDescriptionstring

MCC description provided by the network.

Example: "Fast Food Restaurants"
data[].​transactionTypestringrequired

Debit for purchases and fees; credit for payments and refunds.

Enum"debit""credit"
Example: "debit"
data[].​transactionDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....required

The date and time the transaction occurred, in UTC.

Example: "2025-01-29 16:22:51"
data[].​settlementDatestring\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d....required

The date and time the transaction was settled, in UTC.

Example: "2025-01-30 08:00:03"
data[].​transactionAmountnumberrequired

Transaction amount in account currency.

Example: 741.33
data[].​transactionCurrencystringrequired

Currency code of the transaction amount (ISO 4217).

Example: "BRL"
data[].​localTransactionAmountnumberrequired

Transaction amount in the currency of the transaction location.

Example: 127.59
data[].​localTransactionCurrencystringrequired

Currency code of the local transaction amount (ISO 4217).

Example: "USD"
Response
application/json
{ "links": { "next": "/v1/transactions?pageCursor=MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq" }, "pagination": { "pageSize": 5, "totalCount": 41, "nextCursor": "MTI7eyJ0cmFuc2FjdGlvbklkIjoiODA4MTUxOSIsImNyZWF0ZWRBdCI6IjE3NDY1NTUzMDI1MTIifq", "hasNext": true }, "data": [ {} ] }

Travel

The Travel API enables clients to retrieve transactions from virtual travel cards and update booking details via secure integration.

Operations

Webhooks

The Webhooks API provides access to webhook subscription management and event tracking, enabling you to receive real-time HTTP notifications the moment a card transaction is approved, declined, settled, or fails.

Operations