Link sessions

Get a link session

Reads the state of a link session and the connections made through it.

GET
/v1/link-sessions/{id}

Returns the session by its id, with its status and the connectionIds of the accounts the seller connected through it. The url does not come back here.

status is computed on read: a pending session past expiresAt comes back expired. To know right away when the seller finishes, receive the link_session.completed event on your webhook.

Authorization

api_key
headerAuthorizationBearer <token>

API key (mk_...)

Path Parameters

id*string

Identifier of the resource, as returned by the API.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Response Body

The requested link session. status is computed on read: a pending session past expiresAt comes back expired.

application/json
  1. response

A link session: the hosted page where a seller connects marketplaces.

id*string

Opaque unique identifier of the link session, generated by the API. Use it in the /v1/link-sessions/{id} routes.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
sellerId*string

The seller who connects through this session.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
status*string

State of the session. pending: open and within its deadline. completed: the seller clicked Finish. expired: expiresAt passed before that. revoked: you revoked it.

Value in"pending""completed""expired""revoked"
allowedMarketplaces*array<>

Marketplaces the hosted page offers.

app*string

The app choice made when the session was created: auto or platform.

Value in"auto""platform"
redirectUrl*|

Where the seller lands at the end: after Finish on the hosted page, or right after the marketplace when they came through a connectUrls link. null when the page just thanks them.

connectionIds*array<>

Connections made, or made again, through this session.

expiresAt*string

When the hosted page stops working, in ISO-8601 (UTC).

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
completedAt*|

When the seller clicked Finish, in ISO-8601 (UTC). null before that.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
createdAt*string

When the session was created, in ISO-8601 (UTC).

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
curl -X GET "https://example.com/v1/link-sessions/3d1c8a52-7f0e-4b0a-8a65-9c1b2f6d7e01"
{  "id": "5b2f0c1e-8d3a-4f6b-9c21-7e4d3a2b1c00",  "sellerId": "3d1c8a52-7f0e-4b0a-8a65-9c1b2f6d7e01",  "status": "pending",  "allowedMarketplaces": [    "mercadolivre"  ],  "app": "auto",  "redirectUrl": "https://your-app.com/connected",  "connectionIds": [],  "expiresAt": "2026-10-06T14:45:00.000Z",  "completedAt": null,  "createdAt": "2026-10-06T14:30:00.000Z"}