List Sessions
Authorization
SelectKeyAuth API key for all authenticated requests. Send your key in the selectkey header (e.g. sandbox sl_test_…, production sl_live_…).
In: header
Query Parameters
Maximum number of items to return
Number of items to skip
Sort order for results
Filter to a single calendar day; the API expands this to the start and end of that day for the relevant timestamp field.
Lower bound (exclusive): include only records whose date field is strictly after this value.
Lower bound (inclusive): include only records whose date field is on or after this value.
Upper bound (exclusive): include only records whose date field is strictly before this value.
Upper bound (inclusive): include only records whose date field is on or before this value.
Filter checkout sessions by lifecycle status
Filter by checkout session public ID
Origin channel or entry point of the session
Linked transaction public ID, if the session produced a transaction
Filter sessions originated from a specific checkout link
Filter sessions tied to a specific customer
External transaction reference (gateway/PSP id)
External integration identifier (e.g. WooCommerce order id)
External integration platform slug
Filter sessions currently flagged as online (active live socket)
Filter sessions that already received a recovery (abandoned cart) message
Filter sessions that have never been re-initialized
Filter sessions by domain ambient (live vs test mode)
Filter sessions by the host that served the checkout
Filter sessions by client language (BCP-47 or short code)
Minimum session total amount (cents, inclusive)
Maximum session total amount (cents, inclusive)
Minimum number of session renewals (inclusive)
Maximum number of session renewals (inclusive)
Filter sessions by the payment method the customer selected
Minimum payment funnel step (inclusive)
Maximum payment funnel step (inclusive)
Minimum number of payment attempts (inclusive)
Maximum number of payment attempts (inclusive)
Completion timestamp lower bound (inclusive)
Completion timestamp upper bound (inclusive)
Abandonment timestamp lower bound (inclusive)
Abandonment timestamp upper bound (inclusive)
Last update timestamp lower bound (inclusive)
Last update timestamp upper bound (inclusive)
Expiration timestamp lower bound (inclusive)
Expiration timestamp upper bound (inclusive)
Last visit timestamp lower bound (inclusive)
Last visit timestamp upper bound (inclusive)
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/checkouts/sessions?limit=20&offset=0&sort=descending&daterange=2026-01-01T00%3A00%3A00Z&daterangegt=2026-01-01T00%3A00%3A00Z&daterangegte=2026-01-01T00%3A00%3A00Z&daterangelt=2026-01-01T00%3A00%3A00Z&daterangelte=2026-01-01T00%3A00%3A00Z&status=active&id=sess_abc123&source=payment_link&transactionId=tra_xyz789&linkId=lin_abc123&customerId=cus_abc123&externalTransactionId=ext_98765&integrationId=1024&integrationType=woocommerce&online=true&recoverySent=false&firstInitialization=true&domainAmbient=live&domainHost=checkout.example.com&language=pt-BR&totalAmountGte=1000&totalAmountLte=9999999&renewalCountGte=0&renewalCountLte=10&paymentmethodselected=pix&paymentstepgte=1&paymentsteplte=3&attemptcountgte=1&attemptcountlte=5&completedAtGte=2026-01-01T00%3A00%3A00Z&completedAtLte=2026-01-01T00%3A00%3A00Z&abandonedAtGte=2026-01-01T00%3A00%3A00Z&abandonedAtLte=2026-01-01T00%3A00%3A00Z&updatedAtGte=2026-01-01T00%3A00%3A00Z&updatedAtLte=2026-01-01T00%3A00%3A00Z&expiresAtGte=2026-01-01T00%3A00%3A00Z&expiresAtLte=2026-01-01T00%3A00%3A00Z&lastVisitAtGte=2026-01-01T00%3A00%3A00Z&lastVisitAtLte=2026-01-01T00%3A00%3A00Z"{
"offset": 0,
"limit": 20,
"total": 1,
"page": 1,
"data": [
{
"object": "checkout.session",
"id": "sess_a1b2c3d4e5f6789012ab",
"status": "active",
"source": "api",
"totalAmount": 46523,
"online": false,
"transactionId": null,
"abandonedAt": null,
"completedAt": null,
"updatedAt": "2026-06-08T12:00:00.000Z",
"createdAt": "2026-06-08T12:00:00.000Z"
}
],
"hasMore": false
}{
"error": {
"status": "Bad Request",
"statusCode": 400,
"category": "validation",
"message": "Validation errors occurred",
"details": "One or more parameters are invalid or out of range. Please check the parameters and try again.",
"params": [
{
"payment[currency]": "currency must be one of [BRL]"
},
{
"amount": "amount is required"
}
],
"code": "invalidParameters",
"resource": "client"
}
}{
"error": {
"status": "Unauthorized",
"statusCode": 401,
"category": "authentication",
"message": "Unauthorized",
"details": "Authentication failed. The provided API key is invalid or does not have permission to operate.",
"code": "unauthorized"
}
}{
"error": {
"status": "Forbidden",
"statusCode": 403,
"category": "authorization",
"message": "Forbidden",
"details": "Access denied. This may be due to IP blocks, domain restrictions, or insufficient permissions.",
"code": "forbidden"
}
}{
"error": {
"status": "Not Found",
"statusCode": 404,
"category": "client",
"message": "Not Found",
"details": "The requested resource was not found on the server.",
"code": "notFound"
}
}{
"error": {
"status": "Unprocessable Entity",
"statusCode": 422,
"category": "validation",
"message": "Unprocessable Entity",
"details": "The request was understood, but contains invalid data that could not be processed.",
"code": "unprocessableEntity"
}
}{
"error": {
"status": "Too Many Requests",
"statusCode": 429,
"category": "rate_limit",
"message": "Too Many Requests",
"details": "The number of requests exceeded the limit allowed for the IP or user.",
"retryAfterMinutes": 60,
"code": "tooManyRequests"
}
}{
"error": {
"status": "Internal Server Error",
"statusCode": 500,
"category": "server",
"message": "Server error.",
"details": "An internal server error occurred. Please try again later.",
"code": "serverError",
"resource": "server"
}
}