> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://catena.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://catena.ferndocs.com/_mcp/server.

# Create Tms Connection

POST https://api.catenatelematics.com/v2/integrations/tms-connections
Content-Type: application/json

Create a new TMS connection.

This will validate the credentials with the TMS before creating the connection.
If the credentials are invalid, the connection will not be created and an error will be returned.

Reference: https://catena.ferndocs.com/api-reference/integrations/tms-connections/create-tms-connection

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Body (application/json)

This endpoint expects a TmsConnectionCreate.

- `tms_id` (string, required) — The ID of the Transportation Management System (TMS) that the TMS account uses.
- `credentials` (TmsConnectionCreateCredentials, required) — The connection credentials required to authenticate with the TMS on behalf of the TMS account.
- `description` (string, optional, nullable) — A description of the connection. Useful when the TMS account has multiple connections to the same TMS.

## Response

### 200

Successful Response

- `id` (string, required) — Unique identifier for the TMS connection.
- `created_at` (datetime, required) — Timestamp when the connection was created.
- `updated_at` (datetime, required) — Timestamp when the connection was last updated.
- `tms_account_id` (string, required) — The Catena ID of the TMS account that owns this connection.
- `tms_id` (string, required) — The ID of the Transportation Management System (TMS).
- `source_name` (enum, required) — The name of the TMS integration used for this connection.
  - Allowed values: `tms_simulator`
- `credentials` (TmsConnectionReadCredentials, required) — The connection credentials used to authenticate with the TMS.
- `status` (enum, required) — The current status of the connection.
  - Allowed values: `active`, `failed`, `cancelled`, `paused`, `stale`, `deleted`
- `description` (string, required, nullable) — A description of the connection. Useful when the TMS account has multiple connections to the same TMS.

## Errors

### 400 Bad Request Error

Bad Request

- `code` (integer, optional, default: 400)
- `message` (string, optional, default: Bad Request)
- `detail` (string, optional, nullable)

### 401 Unauthorized Error

Unauthorized

- `code` (integer, optional, default: 401)
- `message` (string, optional, default: Unauthorized)
- `detail` (string, optional, nullable)

### 403 Forbidden Error

Forbidden

- `code` (integer, optional, default: 403)
- `message` (string, optional, default: Forbidden)
- `detail` (string, optional, nullable)

### 404 Not Found Error

Not Found

- `code` (integer, optional, default: 404)
- `message` (string, optional, default: Not Found)
- `detail` (string, optional, nullable)

### 405 Method Not Allowed Error

Method Not Allowed

- `code` (integer, optional, default: 405)
- `message` (string, optional, default: Method Not Allowed)
- `detail` (string, optional, nullable)

### 409 Conflict Error

Conflict

- `code` (integer, optional, default: 409)
- `message` (string, optional, default: Conflict)
- `detail` (string, optional, nullable)

### 422 Unprocessable Entity Error

Unprocessable Entity

- `code` (integer, optional, default: 422)
- `message` (string, optional, default: Invalid Request Body)
- `detail` (list of ValidationErrorDetail, optional, nullable)

### 429 Too Many Requests Error

Too Many Requests

- `code` (integer, optional, default: 429)
- `message` (string, optional, default: Too Many Requests)
- `detail` (RetryAfterDetail, optional, nullable)

### 500 Internal Server Error

Internal Server Error

- `message` (string, optional, default: Internal Server Error)

### 504 Gateway Timeout Error

Gateway Timeout

- `code` (integer, optional, default: 504)
- `message` (string, optional, default: Gateway Timeout)
- `detail` (string, optional, nullable)

## Types

### TmsConnectionCreateCredentials

The connection credentials required to authenticate with the TMS on behalf of the TMS account.

- AccessTokenCreds: AccessTokenCreds-Input
- ApiAuthCreds: ApiAuthCreds-Input
- ApiBasicCreds: ApiBasicCreds-Input
- ApiKeyCreds: ApiKeyCreds-Input
- AzugaSLC: AzugaSLC-Input
- BouncieCreds: BouncieCreds-Input
- ClientIdSecretCreds: ClientIdSecretCreds-Input
- CompanyAccessCreds: CompanyAccessCreds-Input
- CompanyIdCreds: CompanyIdCreds-Input
- DatabaseCreds: DatabaseCreds-Input
- DriverTechCreds: DriverTechCreds-Input
- EZLynkAccessCreds: EZLynkAccessCreds-Input
- EZLynkCreds: EZLynkCreds
- EzlogzCreds: EzlogzCreds
- FactorEldCreds: FactorEldCreds-Input
- FleetupCreds: FleetupCreds-Input
- FleetupSLC: FleetupSLC-Input
- GeotabCreds: GeotabCreds-Input
- IsaacCreds: IsaacCreds-Input
- MotiveCreds: MotiveCreds-Input
- OAuth1Creds: OAuth1Creds-Input
- OAuth2Creds: OAuth2Creds-Input
- OAuth2InitiateCreds: OAuth2InitiateCreds-Input
- OAuth2PrivateKeyCreds: OAuth2PrivateKeyCreds-Input
- OntimeEldCreds: OntimeEldCreds-Input
- OptimusTrackerCreds: OptimusTrackerCreds-Input
- PrivateKeyCreds: PrivateKeyCreds-Input
- RouteOneEldCreds: RouteOneEldCreds-Input
- S3Creds: S3Creds-Input
- SamsaraCreds: SamsaraCreds-Input
- SftpCreds: SftpCreds-Input
- SpireonSLC: SpireonSLC-Input
- SwitchBoardCreds: SwitchBoardCreds-Input
- TokenCreds: TokenCreds-Input
- TruckXCreds: TruckXCreds-Input
- TruckXSLC: TruckXSLC-Input
- TTCreds: TTCreds-Input
- TxtEldSLC: TxtEldSLC-Input
- VerizonConnectCreds: VerizonConnectCreds-Input
- VerizonConnectSLC: VerizonConnectSLC-Input
- ZubieCreds: ZubieCreds-Input

### TmsConnectionReadCredentials

The connection credentials used to authenticate with the TMS.

- AccessTokenCreds: AccessTokenCreds-Output
- ApiAuthCreds: ApiAuthCreds-Output
- ApiBasicCreds: ApiBasicCreds-Output
- ApiKeyCreds: ApiKeyCreds-Output
- AzugaSLC: AzugaSLC-Output
- BouncieCreds: BouncieCreds-Output
- ClientIdSecretCreds: ClientIdSecretCreds-Output
- CompanyAccessCreds: CompanyAccessCreds-Output
- CompanyIdCreds: CompanyIdCreds-Output
- DatabaseCreds: DatabaseCreds-Output
- DriverTechCreds: DriverTechCreds-Output
- EZLynkAccessCreds: EZLynkAccessCreds-Output
- EZLynkCreds: EZLynkCreds
- EzlogzCreds: EzlogzCreds
- FactorEldCreds: FactorEldCreds-Output
- FleetupCreds: FleetupCreds-Output
- FleetupSLC: FleetupSLC-Output
- GeotabCreds: GeotabCreds-Output
- IsaacCreds: IsaacCreds-Output
- MotiveCreds: MotiveCreds-Output
- OAuth1Creds: OAuth1Creds-Output
- OAuth2Creds: OAuth2Creds-Output
- OAuth2InitiateCreds: OAuth2InitiateCreds-Output
- OAuth2PrivateKeyCreds: OAuth2PrivateKeyCreds-Output
- OntimeEldCreds: OntimeEldCreds-Output
- OptimusTrackerCreds: OptimusTrackerCreds-Output
- PrivateKeyCreds: PrivateKeyCreds-Output
- RouteOneEldCreds: RouteOneEldCreds-Output
- S3Creds: S3Creds-Output
- SamsaraCreds: SamsaraCreds-Output
- SftpCreds: SftpCreds-Output
- SpireonSLC: SpireonSLC-Output
- SwitchBoardCreds: SwitchBoardCreds-Output
- TokenCreds: TokenCreds-Output
- TruckXCreds: TruckXCreds-Output
- TruckXSLC: TruckXSLC-Output
- TTCreds: TTCreds-Output
- TxtEldSLC: TxtEldSLC-Output
- VerizonConnectCreds: VerizonConnectCreds-Output
- VerizonConnectSLC: VerizonConnectSLC-Output
- ZubieCreds: ZubieCreds-Output

### ValidationErrorDetail

- `path` (string, required)
- `input` (string, required)
- `message` (string, required)
- `error_type` (string, required)

### RetryAfterDetail

- `retry_after_seconds` (integer, required)
- `message` (string, required)

### AccessTokenCreds-Input

Access Token Credentials

- `access_token` (string, required)
- `token_type` (string, optional, nullable)
- `expires_in` (integer, optional, nullable)
- `refresh_token` (string, optional, nullable)
- `scope` (string, optional, nullable)
- `user_id` (string, optional, nullable)
- `account_id` (string, optional, nullable)
- `host` (string, optional, nullable)

### ApiAuthCreds-Input

API Auth Connection model

- `username` (string, required)
- `password` (string, required)
- `api_key` (string, required)

### ApiBasicCreds-Input

API Basic Connection model

- `username` (string, required)
- `password` (string, required)
- `url` (string, optional, nullable)
- `auth_code` (string, optional, nullable)
- `host` (string, optional, nullable)

### ApiKeyCreds-Input

API Key Connection model

- `api_key` (string, required)
- `url` (string, optional, nullable)
- `user_id` (string, optional, nullable)

### AzugaSLC-Input

Azuga Short-lived Credentials model

- `token` (string, required)
- `api_key` (string, optional, nullable)

### BouncieCreds-Input

Bouncie Credentials model

- `auth_code` (string, required)
- `redirect_uri` (string, required)
- `client_id` (string, optional, nullable)
- `client_secret` (string, optional, nullable)

### ClientIdSecretCreds-Input

Client ID Secret Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `url` (string, optional, nullable)
- `account_id` (string, optional, nullable)

### CompanyAccessCreds-Input

Company Access Credentials model

- `username` (string, required)
- `password` (string, required)
- `company_id` (string, optional, nullable)

### CompanyIdCreds-Input

Company ID Credentials model

- `company_id` (string, required)

### DatabaseCreds-Input

Database Connection model

- `drivername` (enum, required) — Database Driver
  - Allowed values: `postgresql+psycopg2`, `cockroachdb`, `mongodb`, `mysql`, `mariadb`, `snowflake`, `clickhouse`
- `host` (string, required)
- `port` (integer, required)
- `username` (string, required)
- `password` (string, required)
- `database` (string, required)

### DriverTechCreds-Input

DriverTech Connection model

- `company_id` (string, required)
- `username` (string, required)
- `password` (string, required)
- `database` (string, required)

### EZLynkAccessCreds-Input

EZ Lynk Access Credentials model

- `access_token` (string, required)
- `carrier_identifier` (string, required)
- `carrier_identifier_type` (enum, required)
  - Allowed values: `dot`, `cvor`

### EZLynkCreds

EZ Lynk Credentials model for initial onboard

- `carrier_identifier` (string, required)
- `carrier_identifier_type` (enum, required)
  - Allowed values: `dot`, `cvor`

### EzlogzCreds

Ezlogz Connection model

- `app_id` (string, required)
- `app_key` (string, required)
- `client_key` (string, required)

### FactorEldCreds-Input

Factor ELD Connection model

- `username` (string, required)
- `password` (string, required)
- `api_key` (string, required)

### FleetupCreds-Input

Fleetup Connection model

- `account_id` (string, required)
- `secret_key` (string, required)
- `api_key` (string, required)

### FleetupSLC-Input

Fleetup SLC Connection model

- `account_id` (string, required)
- `api_key` (string, required)
- `token` (string, required)

### GeotabCreds-Input

Geotab Connection model

- `username` (string, required)
- `password` (string, required)
- `database` (string, required)
- `session_id` (string, optional, nullable)

### IsaacCreds-Input

Isaac Connection model

- `username` (string, required)
- `password` (string, required)
- `auth_code` (string, required)
- `host` (string, required)

### MotiveCreds-Input

Motive Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `auth_code` (string, required)
- `redirect_uri` (string, required)

### OAuth1Creds-Input

OAuth1 Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `resource_owner_id` (string, required)
- `resource_owner_secret` (string, required)
- `signature_method` (string, required)
- `realm` (string, required)
- `url` (string, required)

### OAuth2Creds-Input

OAuth2 Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `token_url` (string, required)
- `url` (string, required)
- `scope` (string, optional, nullable)
- `refresh_token` (string, optional, nullable)

### OAuth2InitiateCreds-Input

OAuth2 Initiate Connection model

- `code` (string, required)
- `grant_type` (string, optional, nullable)
- `token_url` (string, optional, nullable)
- `redirect_uri` (string, optional, nullable)

### OAuth2PrivateKeyCreds-Input

OAuth2 Private Key Connection model

- `client_id` (string, required)
- `private_key` (string, required)
- `token_url` (string, required)
- `url` (string, required)
- `scope` (string, optional, nullable)

### OntimeEldCreds-Input

Ontime ELD Connection model

- `api_key` (string, required)
- `dot_number` (string, required)
- `provider_token` (string, optional, nullable)

### OptimusTrackerCreds-Input

Optimus Tracker Connection model

- `api_key` (string, required)
- `client_id` (string, required)

### PrivateKeyCreds-Input

Private Key Connection model

- `private_key` (string, required)
- `consumer_key` (string, required)
- `username` (string, required)
- `url` (string, optional, nullable)
- `token_url` (string, optional, nullable)

### RouteOneEldCreds-Input

Route One ELD Connection model

- `api_key` (string, required)
- `consumer_api_key` (string, required)

### S3Creds-Input

S3 Connection model

- `access_key` (string, required)
- `secret_key` (string, required)
- `bucket_name` (string, required)
- `region` (string, required)

### SamsaraCreds-Input

Samsara Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `auth_code` (string, required)

### SftpCreds-Input

SFTP Connection model

- `host` (string, required)
- `username` (string, required)
- `password` (string, required)
- `port` (integer, optional, nullable, default: 22)

### SpireonSLC-Input

Spireon Short-lived Credentials model

- `access_token` (string, required)
- `auth_code` (string, required)

### SwitchBoardCreds-Input

SwitchBoard Connection model

- `api_id` (string, required)
- `api_key` (string, required)

### TokenCreds-Input

Token Connection model

- `token` (string, required)
- `url` (string, optional, nullable)

### TruckXCreds-Input

TruckX Short-lived Credentials model

- `dot_number` (string, required)
- `token` (string, required)

### TruckXSLC-Input

TruckX Short-lived Credentials model

- `token` (string, required)
- `carrier_id` (string, required)

### TTCreds-Input

Trucking Technologies Credentials model

- `api_key` (string, required)
- `provider_token` (string, required)
- `dot_number` (string, required)

### TxtEldSLC-Input

TXT ELD Short-lived Credentials model

- `access_token` (string, required)
- `carrier_id` (string, required)

### VerizonConnectCreds-Input

Verizon Connect Connection model

- `username` (string, required)
- `password` (string, required)
- `rest_username` (string, optional, nullable)
- `rest_password` (string, optional, nullable)

### VerizonConnectSLC-Input

Verizon Connect Short-lived Credentials model

- `access_token` (string, required)
- `username` (string, required)
- `password` (string, required)
- `rest_username` (string, required)
- `rest_password` (string, required)
- `tk_auth` (string, optional, nullable)

### ZubieCreds-Input

Zubie Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `auth_code` (string, required)
- `redirect_uri` (string, required)

### AccessTokenCreds-Output

Access Token Credentials

- `access_token` (string, required)
- `token_type` (string, optional, nullable)
- `expires_in` (integer, optional, nullable)
- `refresh_token` (string, optional)
- `scope` (string, optional, nullable)
- `user_id` (string, optional, nullable)
- `account_id` (string, optional)
- `host` (string, optional)

### ApiAuthCreds-Output

API Auth Connection model

- `username` (string, required)
- `password` (string, required)
- `api_key` (string, required)

### ApiBasicCreds-Output

API Basic Connection model

- `username` (string, required)
- `password` (string, required)
- `url` (string, optional, nullable)
- `auth_code` (string, optional)
- `host` (string, optional)

### ApiKeyCreds-Output

API Key Connection model

- `api_key` (string, required)
- `url` (string, optional, nullable)
- `user_id` (string, optional, nullable)

### AzugaSLC-Output

Azuga Short-lived Credentials model

- `token` (string, required)
- `api_key` (string, optional)

### BouncieCreds-Output

Bouncie Credentials model

- `auth_code` (string, required)
- `redirect_uri` (string, required)
- `client_id` (string, optional, nullable)
- `client_secret` (string, optional)

### ClientIdSecretCreds-Output

Client ID Secret Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `url` (string, optional, nullable)
- `account_id` (string, optional)

### CompanyAccessCreds-Output

Company Access Credentials model

- `username` (string, required)
- `password` (string, required)
- `company_id` (string, optional)

### CompanyIdCreds-Output

Company ID Credentials model

- `company_id` (string, required)

### DatabaseCreds-Output

Database Connection model

- `drivername` (enum, required) — Database Driver
  - Allowed values: `postgresql+psycopg2`, `cockroachdb`, `mongodb`, `mysql`, `mariadb`, `snowflake`, `clickhouse`
- `host` (string, required)
- `port` (integer, required)
- `username` (string, required)
- `password` (string, required)
- `database` (string, required)

### DriverTechCreds-Output

DriverTech Connection model

- `company_id` (string, required)
- `username` (string, required)
- `password` (string, required)
- `database` (string, required)

### EZLynkAccessCreds-Output

EZ Lynk Access Credentials model

- `access_token` (string, required)
- `carrier_identifier` (string, required)
- `carrier_identifier_type` (enum, required)
  - Allowed values: `dot`, `cvor`

### FactorEldCreds-Output

Factor ELD Connection model

- `username` (string, required)
- `password` (string, required)
- `api_key` (string, required)

### FleetupCreds-Output

Fleetup Connection model

- `account_id` (string, required)
- `secret_key` (string, required)
- `api_key` (string, required)

### FleetupSLC-Output

Fleetup SLC Connection model

- `account_id` (string, required)
- `api_key` (string, required)
- `token` (string, required)

### GeotabCreds-Output

Geotab Connection model

- `username` (string, required)
- `password` (string, required)
- `database` (string, required)
- `session_id` (string, optional, nullable)

### IsaacCreds-Output

Isaac Connection model

- `username` (string, required)
- `password` (string, required)
- `auth_code` (string, required)
- `host` (string, required)

### MotiveCreds-Output

Motive Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `auth_code` (string, required)
- `redirect_uri` (string, required)

### OAuth1Creds-Output

OAuth1 Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `resource_owner_id` (string, required)
- `resource_owner_secret` (string, required)
- `signature_method` (string, required)
- `realm` (string, required)
- `url` (string, required)

### OAuth2Creds-Output

OAuth2 Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `token_url` (string, required)
- `url` (string, required)
- `scope` (string, optional, nullable)
- `refresh_token` (string, optional)

### OAuth2InitiateCreds-Output

OAuth2 Initiate Connection model

- `code` (string, required)
- `grant_type` (string, optional, nullable)
- `token_url` (string, optional, nullable)
- `redirect_uri` (string, optional, nullable)

### OAuth2PrivateKeyCreds-Output

OAuth2 Private Key Connection model

- `client_id` (string, required)
- `private_key` (string, required)
- `token_url` (string, required)
- `url` (string, required)
- `scope` (string, optional, nullable)

### OntimeEldCreds-Output

Ontime ELD Connection model

- `api_key` (string, required)
- `dot_number` (string, required)
- `provider_token` (string, optional)

### OptimusTrackerCreds-Output

Optimus Tracker Connection model

- `api_key` (string, required)
- `client_id` (string, required)

### PrivateKeyCreds-Output

Private Key Connection model

- `private_key` (string, required)
- `consumer_key` (string, required)
- `username` (string, required)
- `url` (string, optional, nullable)
- `token_url` (string, optional, nullable)

### RouteOneEldCreds-Output

Route One ELD Connection model

- `api_key` (string, required)
- `consumer_api_key` (string, required)

### S3Creds-Output

S3 Connection model

- `access_key` (string, required)
- `secret_key` (string, required)
- `bucket_name` (string, required)
- `region` (string, required)

### SamsaraCreds-Output

Samsara Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `auth_code` (string, required)

### SftpCreds-Output

SFTP Connection model

- `host` (string, required)
- `username` (string, required)
- `password` (string, required)
- `port` (integer, optional, nullable, default: 22)

### SpireonSLC-Output

Spireon Short-lived Credentials model

- `access_token` (string, required)
- `auth_code` (string, required)

### SwitchBoardCreds-Output

SwitchBoard Connection model

- `api_id` (string, required)
- `api_key` (string, required)

### TokenCreds-Output

Token Connection model

- `token` (string, required)
- `url` (string, optional, nullable)

### TruckXCreds-Output

TruckX Short-lived Credentials model

- `dot_number` (string, required)
- `token` (string, required)

### TruckXSLC-Output

TruckX Short-lived Credentials model

- `token` (string, required)
- `carrier_id` (string, required)

### TTCreds-Output

Trucking Technologies Credentials model

- `api_key` (string, required)
- `provider_token` (string, required)
- `dot_number` (string, required)

### TxtEldSLC-Output

TXT ELD Short-lived Credentials model

- `access_token` (string, required)
- `carrier_id` (string, required)

### VerizonConnectCreds-Output

Verizon Connect Connection model

- `username` (string, required)
- `password` (string, required)
- `rest_username` (string, optional)
- `rest_password` (string, optional)

### VerizonConnectSLC-Output

Verizon Connect Short-lived Credentials model

- `access_token` (string, required)
- `username` (string, required)
- `password` (string, required)
- `rest_username` (string, required)
- `rest_password` (string, required)
- `tk_auth` (string, optional)

### ZubieCreds-Output

Zubie Connection model

- `client_id` (string, required)
- `client_secret` (string, required)
- `auth_code` (string, required)
- `redirect_uri` (string, required)

## Examples

**Request**

```json
{
  "tms_id": "string",
  "credentials": {
    "access_token": "string"
  }
}
```

**Response**

```json
{
  "id": "string",
  "created_at": "2024-01-15T09:30:00Z",
  "updated_at": "2024-01-15T09:30:00Z",
  "tms_account_id": "string",
  "tms_id": "string",
  "source_name": "tms_simulator",
  "credentials": {
    "client_id": "*****",
    "client_secret": "*****"
  },
  "status": "active",
  "description": "TMS Simulator connection for TMS account 1234"
}
```

**SDK Code**

```python
import requests

url = "https://api.catenatelematics.com/v2/integrations/tms-connections"

payload = {
    "tms_id": "string",
    "credentials": { "access_token": "string" }
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.catenatelematics.com/v2/integrations/tms-connections';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"tms_id":"string","credentials":{"access_token":"string"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.catenatelematics.com/v2/integrations/tms-connections"

	payload := strings.NewReader("{\n  \"tms_id\": \"string\",\n  \"credentials\": {\n    \"access_token\": \"string\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.catenatelematics.com/v2/integrations/tms-connections")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"tms_id\": \"string\",\n  \"credentials\": {\n    \"access_token\": \"string\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.catenatelematics.com/v2/integrations/tms-connections")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"tms_id\": \"string\",\n  \"credentials\": {\n    \"access_token\": \"string\"\n  }\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.catenatelematics.com/v2/integrations/tms-connections', [
  'body' => '{
  "tms_id": "string",
  "credentials": {
    "access_token": "string"
  }
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.catenatelematics.com/v2/integrations/tms-connections");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"tms_id\": \"string\",\n  \"credentials\": {\n    \"access_token\": \"string\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "tms_id": "string",
  "credentials": ["access_token": "string"]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.catenatelematics.com/v2/integrations/tms-connections")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```