Authentication

Public Token Exchange

Changed on

Exchange the publicToken returned by our hosted authentication flow for a long lived connection token that will be used when requesting data from a customer's TSP.

post/public-token/exchange

Request

  • Base URL
    https://api.withterminal.com/tsp/v1
  • URL
    https://api.withterminal.com/tsp/v1/public-token/exchange
  • Auth
    HTTP bearer

Request body

publicTokenstring 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 request

{
  "publicToken": "pub_tkn_9jNzH26e5b9RgErDnRt8zfm5emDUUyyG"
}

Response

OK

idstring ulid required
externalIdstring

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

sourceIdstring

The ID used to represent the entity in the source system.

syncMode'automatic' | 'manual' required

Enum values:

  • automatic: Terminal will keep this connections data up to date
  • manual: Terminal will only sync data upon request
tokenstring required

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

tagsstring[]

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

createdAtstring date-time required
updatedAtstring date-time required
status'connected' | 'disconnected' | 'archived' | 'pending_deletion' required

The current status of the connection.

linkUrlstring uri required

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

Example response

{
  "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"
    }
  },
  "provider": {
    "code": "geotab",
    "name": "Geotab"
  },
  "externalId": "1234",
  "sourceId": "123456789",
  "token": "con_tkn_22vUhkC6tgre4kwaYfUkCDA1rzn6eyb4",
  "tags": [
    "Tag Name"
  ],
  "createdAt": "2021-01-06T03:24:53.000Z",
  "updatedAt": "2021-01-06T03:24:53.000Z",
  "filters": {
    "vehicles": {
      "excludeIds": [
        "vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ],
      "includeIds": [
        "vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ]
    },
    "drivers": {
      "excludeIds": [
        "drv_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ],
      "includeIds": [
        "drv_01D8ZQFGHVJ858NBF2Q7DV9MNC"
      ]
    }
  },
  "linkUrl": "https://link.withterminal.com/connection/{CONNECTION_ID}?key={PUBLISHABLE_KEY}"
}

Changes

    • breaking

      added to the response body oneOf list for the response status

    • warning

      added the new provider_timeout enum value to the response property for the response status

    • info

      removed subschema #1: Full Connection subschema #2: Deleted Connection from the response body oneOf list for the response status