Session Management

Session lifecycle management

Start a new session

post

Public endpoint. Requires integration API key in api-key header.

Authorizations
Path parameters
regionurlundefined · enumRequired

Server slug based on regions: api - for US region based orgs in - for IN region based orgs eu - for EU region based orgs

Default: apiPossible values:
versionstring · enumRequired

API version (e.g., v1)

Default: v1Possible values:
integration_idstringRequired

Sprinto-issued integration identifier.

Body
client_reference_idstringOptional

Caller-side correlation id

Responses
201

Session created

application/json
post
POST /{version}/integrations/{integration_id}/sessions HTTP/1.1
Host: {regionurl}
api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "client_reference_id": "text"
}
{
  "id": "text",
  "integration_id": "text",
  "state": "active",
  "created_at": "2025-09-17T12:13:31.416Z",
  "updated_at": "2025-09-17T12:13:31.416Z",
  "expires_at": "2025-09-17T12:13:31.416Z",
  "inactivity_timeout_seconds": 3600,
  "accepted_records_total": 0,
  "accepted_records_by_entity": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "last_error": "text"
}

Get session status

get

Returns state and counts of accepted rows so far (by entity and total).

Authorizations
Path parameters
regionurlundefined · enumRequired

Server slug based on regions: api - for US region based orgs in - for IN region based orgs eu - for EU region based orgs

Default: apiPossible values:
versionstring · enumRequired

API version (e.g., v1)

Default: v1Possible values:
integration_idstringRequired

Sprinto-issued integration identifier.

session_idstringRequired

Session identifier returned by the session creation endpoint.

Responses
200

Session status

application/json
Responseall of
get
GET /{version}/integrations/{integration_id}/sessions/{session_id} HTTP/1.1
Host: {regionurl}
api-key: YOUR_API_KEY
Accept: */*
{
  "id": "text",
  "integration_id": "text",
  "state": "active",
  "created_at": "2025-09-17T12:13:31.416Z",
  "updated_at": "2025-09-17T12:13:31.416Z",
  "expires_at": "2025-09-17T12:13:31.416Z",
  "inactivity_timeout_seconds": 3600,
  "accepted_records_total": 0,
  "accepted_records_by_entity": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "last_error": "text",
  "accepted_batches": 0,
  "retry_count": 0
}

Close the session & start processing

post

Send apply to apply staged data or discard to discard. Processing retries once on Sprinto side.

Authorizations
Path parameters
regionurlundefined · enumRequired

Server slug based on regions: api - for US region based orgs in - for IN region based orgs eu - for EU region based orgs

Default: apiPossible values:
versionstring · enumRequired

API version (e.g., v1)

Default: v1Possible values:
integration_idstringRequired

Sprinto-issued integration identifier.

session_idstringRequired

Session identifier returned by the session creation endpoint.

Body
statusstring · enumRequiredDefault: applyPossible values:
Responses
202

Transition accepted; processing started (async)

application/json
Responseall of
post
POST /{version}/integrations/{integration_id}/sessions/{session_id}/close HTTP/1.1
Host: {regionurl}
api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "status": "apply"
}
{
  "id": "text",
  "integration_id": "text",
  "state": "active",
  "created_at": "2025-09-17T12:13:31.416Z",
  "updated_at": "2025-09-17T12:13:31.416Z",
  "expires_at": "2025-09-17T12:13:31.416Z",
  "inactivity_timeout_seconds": 3600,
  "accepted_records_total": 0,
  "accepted_records_by_entity": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "last_error": "text",
  "accepted_batches": 0,
  "retry_count": 0
}