SaaSFlow
DevelopersAPIReferenceintegrations

Retrieve integration

Retrieve one integration by id, including its connection state and last sync. Use this to diagnose a bank connection that has stopped importing.

Authentication

Checking whether you're signed in…
GET
/companies/{companyId}/integrations/{integrationId}

Authorization

headerAuthorization<token>

A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.

Path Parameters

companyId*string
Length1 <= length
integrationId*string
Length1 <= length

Response Body

Integration details

application/json
  1. response
name*string

The name of the integration (usually the company name from the provider).

externalAccountId*string

The external account ID for the integration (usually the account ID from the provider).

status?string

The current status of the integration.

Default"active"
Value in"active""error"
initialSetupComplete?boolean

Whether the initial setup (full sync + first data refresh) has completed. False during initial setup, true once ready.

Defaulttrue
createdTime*|

When the entity was created.

Formatdate-time
createdUserId*|

The ID of the user who created the entity. Null if the entity was created by the system.

lastUpdatedTime*|

When the entity was last updated.

Formatdate-time
lastUpdatedUserId*|

The ID of the user who last updated the entity. Null if the entity was updated by the system.

type*"stripe"

The type of integration.

Value in"stripe"
stripeMode?string

The mode of the Stripe integration (test or live).

Value in"test""live"
lastAccountSyncTime*|

The ISO datetime of the last successful account synchronization. Null if never synced. Format: YYYY-MM-DDTHH:MM:SSZ

Formatdate-time
lastSubscriptionSyncTime*|

The ISO datetime of the last successful subscription synchronization. Null if never synced. Format: YYYY-MM-DDTHH:MM:SSZ

Formatdate-time
missingPermissionObjectTypes?array<string>

Stripe object types (e.g. "charges") the connection is currently not permitted to read, typically because the account authorized the app before that permission was added. Reconnecting the integration grants the current permission set.

id*string
curl -X GET "https://example.com/companies/string/integrations/string"
{  "name": "string",  "externalAccountId": "string",  "status": "active",  "initialSetupComplete": true,  "createdTime": "2019-08-24T14:15:22Z",  "createdUserId": "string",  "lastUpdatedTime": "2019-08-24T14:15:22Z",  "lastUpdatedUserId": "string",  "type": "stripe",  "stripeMode": "test",  "lastAccountSyncTime": "2019-08-24T14:15:22Z",  "lastSubscriptionSyncTime": "2019-08-24T14:15:22Z",  "missingPermissionObjectTypes": [    "string"  ],  "id": "string"}