---
title: "Connect to partner"
method: POST
path: "/api/network/v1/enterprises/{enterpriseId}/clients/connections"
tags: ["Client Activation"]
---

# Connect to partner

`POST /api/network/v1/enterprises/{enterpriseId}/clients/connections`

Connect your OES client account to an OES partner account, enabling you to
trade funds that you have custodied with BitGo. You must have an account on the partner's site.
Clients can have multiple connections to the same partner.

Error scenarios:
- 400: Invalid Request Error
- Occurs when the request parameters are invalid or malformed.
- Examples: Invalid UUID format for enterpriseId or partnerId, missing required fields,
invalid payload format, invalid signature, payload doesn't match request data.

- 401: Authentication Error
- Occurs when the request is not authorized.
- Examples: Caller is not a member of the enterprise. Payload/Signature are not valid.

- 403: Permission Denied Error
- Occurs when the authenticated client doesn't have necessary permissions.
- Examples: Enterprise does not have OES license.

- 404: Not Found Error
- Occurs when the specified resources cannot be found.
- Examples: Enterprise ID doesn't exist, specified partner ID doesn't exist.

- 422: Unprocessable Content Error
- Occurs when the request is valid but cannot be processed due to business rules.
- Examples: Invalid connection key schema for partner, unsupported key schema,
partner is inactive, client and partner belong to different trust organizations.

- 500: Internal Server Error
- Occurs when there's an unexpected server error processing the request.
- Examples: Database connection issues. Transient network errors,

**Requires access token scopes:** `settlement_network_read`, `settlement_network_write`

## Path parameters

- `enterpriseId` string, required

## Request body

- object
  - `partnerId` string, required
  - `name` string, required
  - `connectionKey` union, required
    - TokenConnectionKey
      - `schema` 'token', required
      - `connectionToken` string, required
    - TokenAndSignatureConnectionKey
      - `schema` 'tokenAndSignature', required
      - `connectionToken` string, required
      - `signature` string, required
    - ApiKeyAndSecretConnectionKey
      - `schema` 'apiKeyAndSecret', required
      - `apiKey` string, required
      - `apiSecret` string, required
    - ClearLoopConnectionKey
      - `schema` 'clearloop', required
      - `apiKey` string, required
      - `apiSecret` string, required
      - `clientAccountId` string, required
      - `companyRegistrationNumber` string, required
  - `nonce` string, required
  - `payload` string, required
  - `signature` string, required

## Response `200`

OK

- V1ConnectionPayload — API response payload containing a single connection. This structure wraps the connection data for API responses.
  - `connection` V1ConnectionOutput, required
    - `id` string, required — The unique identifier of the connection. This UUID uniquely identifies the connection between a client and partner.
    - `name` string, required — A user-friendly name for the connection. This is a descriptive label provided by the client for this particular connection.
    - `clientId` string, required — The unique identifier of the client associated with this connection. This UUID uniquely identifies the client organization within the BitGo system.
    - `partnerId` string, required — The unique identifier of the partner associated with this connection. This UUID uniquely identifies the partner organization within the BitGo system.
    - `networkAccountId` string, required — The unique identifier of the network account associated with this connection. This references the account where allocated funds are held for this connection.
    - `createdAt` string, date-time, required — The date and time when the connection was created. Represented as an ISO 8601 formatted date string.
    - `updatedAt` string, date-time, required — The date and time when the connection was last updated. Represented as an ISO 8601 formatted date string.
    - `active` boolean, required — Indicates whether the connection is active. When false, the connection is deactivated and no operations (like allocations) can be performed on it. When true, the connection is active and operations can be performed on it.
    - `proof` string, required — The cryptographic proof associated with the connection. This is used for verifying the authenticity of the connection. Derived from the payload and signature submitted when the connection was created.
    - `nonce` string, required — A nonce value used in the connection cryptographic operations. This provides additional security for connection operations.
    - `evaluationId` string — The unique identifier of the policy evaluation for this connection.
    - `pendingApprovalId` string — The unique identifier of the pending approval for this connection.
    - `policyResult` 'approved' | 'rejected' — The result of the policy evaluation for this connection. - 'approved': Policy evaluation passed and the operation was allowed - 'rejected': Policy evaluation failed and the operation was denied Not present if no policy evaluation was performed or if evaluation is still pending.
    - `partnersConnectionId` string, nullable, required — The partner's identifier for this connection. This is the identifier used by the partner in their system to refer to this connection. Will be null if the connection hasn't been initialized by the partner.
    - `partnersClientId` string, nullable, required — The partner's identifier for the client. This is the identifier used by the partner in their system to refer to the client. Will be null if the connection hasn't been initialized by the partner.
    - `initialized` boolean, required — Indicates whether the connection has been initialized by the partner. When true, the partner has established this connection on their side. When false, the connection is pending initialization by the partner.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
