Skip to main content
POST
/
public-token
/
exchange
Public Token Exchange
curl --request POST \
  --url https://api.withterminal.com/tsp/v1/public-token/exchange \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "publicToken": "pub_tkn_9jNzH26e5b9RgErDnRt8zfm5emDUUyyG"
}'
{
  "id": "conn_01GV12VR4DJP70GD1ZBK0SDWFH",
  "company": {
    "name": "Frank's Trucking",
    "dotNumbers": [
      "1234567"
    ]
  },
  "account": {
    "name": "Frank's Trucking",
    "dotNumbers": [
      "1234567"
    ],
    "user": {
      "sourceId": "1234567",
      "firstName": "John",
      "lastName": "Doe",
      "email": "john.doe@example.com"
    }
  },
  "status": "connected",
  "provider": {
    "code": "geotab",
    "name": "Geotab"
  },
  "externalId": "1234",
  "sourceId": "123456789",
  "syncMode": "automatic",
  "token": "con_tkn_22vUhkC6tgre4kwaYfUkCDA1rzn6eyb4",
  "tags": [
    "Tag Name"
  ],
  "options": {
    "ingestHistoryFromSourceSystem": true
  },
  "filters": {
    "vehicles": {
      "status": "active",
      "excludeIds": [
        "vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ],
      "includeIds": [
        "vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ]
    },
    "drivers": {
      "status": "active",
      "excludeIds": [
        "drv_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ],
      "includeIds": [
        "drv_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ]
    }
  },
  "linkUrl": "https://link.withterminal.com/connection/{CONNECTION_ID}?key={PUBLISHABLE_KEY}",
  "createdAt": "2021-01-06T03:24:53.000Z",
  "updatedAt": "2021-01-06T03:24:53.000Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
publicToken
string
required

Token returned by the authentication flow. Public tokens are one time use and expire after they are exchanged for a long-lived connection token.

Example:

"pub_tkn_9jNzH26e5b9RgErDnRt8zfm5emDUUyyG"

Response

OK

id
string<ulid>
required
Example:

"conn_01GV12VR4DJP70GD1ZBK0SDWFH"

company
object
required
account
object
required
status
enum<string>
required

Enum values:

  • connected: active and authenticated connection
  • disconnected: connection is no longer authenticated - please ask your user to link the account again
  • archived: connection has been archived from view - attempts to re-connect will cause us to check the connection status again
Available options:
connected,
disconnected,
archived,
pending_deletion
provider
object
required
syncMode
enum<string>
default:automatic
required

Enum values:

  • automatic: Terminal will keep this connections data up to date
  • manual: Terminal will only sync data upon request
Available options:
automatic,
manual
token
string
required

This token is used when interacting with a connections' data.

Example:

"con_tkn_22vUhkC6tgre4kwaYfUkCDA1rzn6eyb4"

options
object
required
  • Omnitracs Options
  • Omnitracs ES Options
  • Omnitracs XRS Options

The URL to send your user to in order to have them re-authenticate the connection.

Example:

"https://link.withterminal.com/connection/{CONNECTION_ID}?key={PUBLISHABLE_KEY}"

createdAt
string<date-time>
required
Example:

"2021-01-06T03:24:53.000Z"

updatedAt
string<date-time>
required
Example:

"2021-01-06T03:24:53.000Z"

externalId
string

An optional ID from your system that can be used to reference connections.

Example:

"1234"

sourceId
string

The ID used in the source system to represent the account this connection has access to.

This may be an organizationId or accountId.

Note: not all systems expose this information, in which case it may be undefined.

Example:

"123456789"

tags
string[]

An optional list of tags from your system that can be used to reference connections.

filters
object

Filters applied to connection data

I