Skip to main content
POST
/
api
/
v1
/
appflow
/
objects
/
{object_slug}
/
records
Get Records
curl --request POST \
  --url https://app.superleap.com/api/v1/appflow/objects/{object_slug}/records \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "query": {
    "fields": [
      "<string>"
    ],
    "filter": {
      "and": [
        {
          "field": "<string>",
          "operator": "<string>",
          "value": "<any>"
        }
      ]
    }
  },
  "next_token": "<string>"
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.superleap.com/llms.txt

Use this file to discover all available pages before exploring further.

Fetch records for a specific entity with optional filtering and token-based pagination. This endpoint is used by the AppFlow connector to pull data from Superleap during flow execution.

Headers

Authorization
string
required
Bearer token for authentication, click here to generate one
Content-Type
string
default:"application/json"
required
application/json

Path Parameters

object_slug
string
required
The entity identifier for the object (e.g., “lead”, “user”, “opportunity”). Use the List Objects endpoint to discover available identifiers.

Body

query
object
required
Query object containing field selection and filter parameters
next_token
string
Pagination token returned from a previous response. Pass null for the first request. When the response includes a next_token, pass it in the next request to retrieve the following page of results.

Example Request

curl --location --request POST 'https://app.superleap.com/api/v1/appflow/objects/lead/records' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SUPERSECRETREDACTEDKEY' \
--data '{
    "query": {
        "fields": [
            "name",
            "email"
        ],
        "filter": {
            "and": [
                {
                    "field": "updated_at",
                    "operator": "gte",
                    "value": 1757134404000
                }
            ]
        }
    },
    "next_token": null
}'

Example Response

{
    "success": true,
    "data": {
        "records": [
            {
                "email": null,
                "id": "xk40vL_CrqDIiR6",
                "name": "Fakiyat",
                "updated_at": "2025-11-05T18:45:22.372Z"
            },
            {
                "email": null,
                "id": "xk40vL_lFM1am8Z",
                "name": "Fakiyat",
                "updated_at": "2025-11-05T18:45:22.372Z"
            },
            {
                "email": "asdf@gmail.com",
                "id": "xk40vL_myqHgKhu",
                "name": "Eric Collins",
                "updated_at": "2025-11-06T10:12:45.001Z"
            }
        ],
        "next_token": "eyJpZCI6InhrNDB2TF9xeUNuS1V6bCIsIm51bWJlcl9vZl9yZWNvcmRzIjozMDAwLCJ1cGRhdGVkX2F0IjoxNzcxNzA3MTU1NjgyfQ=="
    }
}

Response Fields

FieldTypeDescription
successbooleanWhether the request was successful
data.recordsarrayList of record objects with the requested fields
data.next_tokenstring | nullPagination token for the next page. null when there are no more results.

Pagination

Records are returned in pages. When the response includes a non-null next_token:
  1. Pass the next_token value in your next request to retrieve the following page
  2. Continue paginating until next_token is null
  3. Each page may contain up to 3000 records

Incremental Sync

For incremental data syncs, filter by a timestamp field (e.g., updated_at) using the gte operator with a Unix timestamp in milliseconds. This allows you to fetch only records that have been modified since your last sync.
{
    "query": {
        "fields": ["name", "email"],
        "filter": {
            "and": [
                {
                    "field": "updated_at",
                    "operator": "gte",
                    "value": 1757134404000
                }
            ]
        }
    },
    "next_token": null
}