Skip to main content
POST
/
detected_accounts
/
sync
cURL
curl --request POST \
  --url https://development.knotapi.com/detected_accounts/sync \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "external_user_id": "abc",
  "cursor": "eyJpZCI6MjI3ODEsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0",
  "limit": 100
}
'
{
"detected_accounts": [
{
"merchant": {
"id": 35,
"name": "Spotify",
"logo": "https://knot.imgix.net/merchants/KBQ5j6cN010PPpwbO7RpKGyDrCpsZ91FRhwnZp5u.png"
},
"login_method": "GOOGLE_SSO",
"account_created_at": "2025-08-24T11:53:09Z",
"detected_at": "2025-10-23T17:00:00Z"
},
{
"merchant": {
"id": 44,
"name": "Walmart",
"logo": "https://knot.imgix.net/merchants/walmart.png"
},
"login_method": "",
"account_created_at": "",
"detected_at": "2025-08-01T17:00:05Z"
}
],
"next_cursor": "eyJpZCI6MjI3ODEsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0",
"limit": 100
}
This endpoint is coming soon. Check in with the Knot team to see when you can get access.

Overview

This endpoint allows you to sync detected accounts for a given user using cursor-based pagination. These are accounts that a user has, but are not yet linked to Knot. Knot automatically detects the existence of accounts with merchants as users interact with products like CardSwitcher. Call this endpoint upon receiving the NEW_DETECTED_ACCOUNTS_AVAILABLE webhook.

Usage

Detected accounts retrieved from this endpoint can be used to closely personalize the merchants you present to users in your app or through lifecycle marketing campaigns. For example, if a detected account at Uber is present for a user, you can more prominently display Uber to that user in your app or as a push notification/email. Moreover, aggregated detected account information can be useful in designing a rewards program or other product features throughout your app.

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password. Use your client_id as the username and your secret as the password value.

Body

application/json

The input parameters required for syncing detected accounts.

external_user_id
string
required

Your unique identifier for the user.

Example:

"abc"

cursor
string

Cursor token pointing to the last detected account retrieved. The /detected_accounts/sync endpoint uses cursor-based pagination to track which detected accounts have already been seen, minimizing data redundancy.

On the first call, the endpoint returns all detected accounts paginated. In subsequent calls, only new detected accounts are provided using the next cursor.

Example:

"eyJpZCI6MjI3ODEsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0"

limit
integer
default:100

Maximum number of detected accounts to retrieve (min: 1, max: 100).

Example:

100

Response

Successful request.

detected_accounts
object[]
next_cursor
string | null

Cursor token for the next page of detected accounts.

limit
integer

Number of detected accounts returned based on the limit provided.

Example:

100