Session Management

Session lifecycle management

Start a new session

post
/{version}/integrations/{integration_id}/sessions

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

Authorizations
Path parameters
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
/{version}/integrations/{integration_id}/sessions
POST /api/external/push/{version}/integrations/{integration_id}/sessions HTTP/1.1
Host: api.sprinto.com
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-10-31T16:38:14.401Z",
  "updated_at": "2025-10-31T16:38:14.401Z",
  "expires_at": "2025-10-31T16:38:14.401Z",
  "inactivity_timeout_seconds": 3600,
  "accepted_records_total": 0,
  "accepted_records_by_entity": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "last_error": "text"
}

Get session status

get
/{version}/integrations/{integration_id}/sessions/{session_id}

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

Authorizations
Path parameters
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
/{version}/integrations/{integration_id}/sessions/{session_id}
GET /api/external/push/{version}/integrations/{integration_id}/sessions/{session_id} HTTP/1.1
Host: api.sprinto.com
api-key: YOUR_API_KEY
Accept: */*
{
  "id": "text",
  "integration_id": "text",
  "state": "active",
  "created_at": "2025-10-31T16:38:14.401Z",
  "updated_at": "2025-10-31T16:38:14.401Z",
  "expires_at": "2025-10-31T16:38:14.401Z",
  "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
/{version}/integrations/{integration_id}/sessions/{session_id}/close

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

Authorizations
Path parameters
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
/{version}/integrations/{integration_id}/sessions/{session_id}/close
POST /api/external/push/{version}/integrations/{integration_id}/sessions/{session_id}/close HTTP/1.1
Host: api.sprinto.com
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-10-31T16:38:14.401Z",
  "updated_at": "2025-10-31T16:38:14.401Z",
  "expires_at": "2025-10-31T16:38:14.401Z",
  "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
}

Last updated