> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/trlink/create-customer-integration",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Create customer integration

> Creates a new TRSupport integration for a customer. This establishes a connection placeholder between a customer and a Travel Rule partner. Use the connect endpoint to provide credentials after creation. You may optionally supply `customerIntegrationId` in the request body when your tenant is enabled for client-provided integration ids.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /screening/trlink/customers/integration
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /screening/trlink/customers/integration:
    post:
      tags:
        - TRLink
      summary: Create customer integration
      description: >-
        Creates a new TRSupport integration for a customer. This establishes a
        connection placeholder between a customer and a Travel Rule partner. Use
        the connect endpoint to provide credentials after creation. You may
        optionally supply `customerIntegrationId` in the request body when your
        tenant is enabled for client-provided integration ids.
      operationId: createTRLinkIntegration
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TRLinkCreateIntegrationRequest'
      responses:
        '201':
          description: Customer integration created successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TRLinkCustomerIntegrationResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response:
            Promise<FireblocksResponse<TRLinkCustomerIntegrationResponse>> =
            fireblocks.tRLink.createTRLinkIntegration(tRLinkApiCreateTRLinkIntegrationRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<TRLinkCustomerIntegrationResponse>>
            response =
            fireblocks.tRLink().createTRLinkIntegration(tRLinkCreateIntegrationRequest,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.t_r_link.create_t_r_link_integration(t_r_link_create_integration_request,
            idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  schemas:
    TRLinkCreateIntegrationRequest:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          description: Customer unique identifier
          example: 550e8400-e29b-41d4-a716-446655440001
        partnerIdent:
          type: string
          description: Partner identification code (e.g., "sumsub", "notabene")
          example: sumsub
        customerIntegrationId:
          type: string
          format: uuid
          description: >-
            Optional. When supplied and permitted for the tenant (feature flag /
            CSM arrangement), this value is used as the TRLink integration
            identifier instead of a server-generated UUID. If omitted, the API
            generates a UUID. If supplied when the tenant is not permitted to
            set a custom id, the request fails with 400. Contact your CSM if you
            need a custom integration id.
          example: 660e8400-e29b-41d4-a716-446655440099
      required:
        - customerId
        - partnerIdent
    TRLinkCustomerIntegrationResponse:
      type: object
      properties:
        customerIntegrationId:
          type: string
          format: uuid
          description: Customer integration unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
        apiKey:
          type: string
          nullable: true
          description: API key for partner integration (censored for security)
          example: fb_***************
        secret:
          type: string
          nullable: true
          description: Secret for partner integration (censored for security)
          example: '***'
        createDate:
          type: string
          format: date-time
          description: Timestamp when the integration was created (ISO 8601 format)
          example: '2025-01-20T10:30:00.000Z'
        lastUpdate:
          type: string
          format: date-time
          description: Timestamp when the integration was last updated (ISO 8601 format)
          example: '2025-01-24T08:45:00.000Z'
        partner:
          $ref: '#/components/schemas/TRLinkPartnerResponse'
        customer:
          $ref: '#/components/schemas/TRLinkCustomerResponse'
      required:
        - customerIntegrationId
        - createDate
        - lastUpdate
        - partner
        - customer
    TRLinkPartnerResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Partner unique identifier
          example: 123e4567-e89b-12d3-a456-426614174000
        ident:
          type: string
          description: Partner identification code
          example: notabene
        name:
          type: string
          description: Partner display name
          example: Notabene
        description:
          type: string
          nullable: true
          description: Partner description
          example: Travel Rule compliance provider
        baseUrl:
          type: string
          description: Partner API base URL
          example: https://api.notabene.id
        active:
          type: boolean
          description: Whether the partner is active
          example: true
        isTest:
          type: boolean
          description: Whether this is a test/sandbox partner
          example: false
      required:
        - id
        - ident
        - name
        - baseUrl
        - active
        - isTest
    TRLinkCustomerResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Customer unique identifier
          example: 550e8400-e29b-41d4-a716-446655440001
        tenantId:
          type: string
          format: uuid
          description: Fireblocks tenant ID
          example: 550e8400-e29b-41d4-a716-446655440003
        discoverable:
          $ref: '#/components/schemas/TRLinkDiscoverableStatus'
        shortName:
          type: string
          description: Short display name
          example: Acme Corp
        fullLegalName:
          type: string
          description: Full legal entity name
          example: Acme Corporation Ltd.
        geographicAddress:
          $ref: '#/components/schemas/TRLinkGeographicAddressRequest'
        countryOfRegistration:
          type: string
          description: ISO 3166-1 alpha-2 country code where the entity is registered
          example: US
        nationalIdentification:
          type: string
          nullable: true
          description: National identification (serialized as string)
          example: >-
            {"nationalIdentifierType":"LEIXG","nationalIdentifier":"5493001KJTIIGC8Y1R12","countryOfIssue":"US"}
        dateOfIncorporation:
          type: string
          format: date
          nullable: true
          description: Date of entity incorporation (ISO 8601 format)
          example: '2015-03-15'
        vaults:
          type: array
          items:
            type: integer
          nullable: true
          description: Associated Fireblocks vault account IDs
          example:
            - 0
            - 1
            - 2
        trPrimaryPurpose:
          type: string
          nullable: true
          description: Primary purpose for Travel Rule compliance
          example: Virtual asset service provider
        createDate:
          type: string
          format: date-time
          description: Timestamp when the customer was created (ISO 8601 format)
          example: '2025-01-20T10:30:00.000Z'
        lastUpdate:
          type: string
          format: date-time
          description: Timestamp when the customer was last updated (ISO 8601 format)
          example: '2025-01-24T08:45:00.000Z'
      required:
        - id
        - tenantId
        - discoverable
        - shortName
        - fullLegalName
        - countryOfRegistration
        - createDate
        - lastUpdate
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    TRLinkDiscoverableStatus:
      type: string
      nullable: true
      description: Customer discoverability status in the Travel Rule network
      enum:
        - anonymous
        - hidden
        - discoverable
      example: discoverable
    TRLinkGeographicAddressRequest:
      type: object
      nullable: true
      description: Geographic address following IVMS101 standard
      properties:
        addressLine:
          type: array
          items:
            type: string
            maxLength: 70
          maxItems: 3
          nullable: true
          description: Address lines (max 3, each up to 70 characters)
          example:
            - Suite 100
        streetName:
          type: string
          maxLength: 70
          nullable: true
          description: Street name (required if buildingNumber is provided)
          example: Main Street
        buildingNumber:
          type: string
          maxLength: 255
          nullable: true
          description: Building number
          example: '123'
        floor:
          type: string
          maxLength: 70
          nullable: true
          description: Floor number
          example: '5'
        postBox:
          type: string
          maxLength: 16
          nullable: true
          description: Post box number
          example: PO Box 456
        postCode:
          type: string
          maxLength: 16
          nullable: true
          description: Postal code (required if townName is provided)
          example: '10001'
        townName:
          type: string
          maxLength: 35
          nullable: true
          description: City or town name (required if postCode is provided)
          example: New York
        districtName:
          type: string
          maxLength: 35
          nullable: true
          description: District name
          example: Manhattan
        countrySubDivision:
          type: string
          maxLength: 35
          nullable: true
          description: State or province (validated against country)
          example: NY
        country:
          type: string
          nullable: true
          description: >-
            ISO 3166-1 alpha-2 country code (required if town, district, or
            sub-division provided)
          example: US
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````