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

# Retrieve a link token

> Exchange a bridge public_token for a link access_token.



## OpenAPI

````yaml POST /v1/link-access-tokens/
openapi: 3.0.1
info:
  title: Truv API
  description: Truv API Documentation
  termsOfService: https://www.truv.com/legal/terms-of-use
  contact:
    email: support@truv.com
  version: v1
servers:
  - url: https://prod.truv.com
security:
  - ClientID: []
    AccessKey: []
tags:
  - name: Users
  - name: Bridge Token
  - name: Companies and Data Providers
  - name: Key Management
  - name: Account Links
  - name: Data Refresh
  - name: Customization Templates
  - name: Webhooks
  - name: Orders
  - name: Tasks
  - name: VOIE Reports
  - name: VOA Reports
  - name: Income Insights Reports
  - name: DDS Reports
  - name: Employment
  - name: Identity
  - name: Shifts
  - name: Pay Statements
  - name: Tax Documents
  - name: Parsed Documents
  - name: Reports
  - name: Uploaded Documents
  - name: Bank Accounts
  - name: Bank Statements
  - name: Deposit Switch Reports
  - name: Insurance Reports
  - name: Income Report
  - name: Scoring Attributes
  - name: Accounts
  - name: Transactions
  - name: Recurring Transactions
  - name: Document Collections
paths:
  /v1/link-access-tokens/:
    parameters: []
    post:
      tags:
        - Account Links
      summary: Retrieve a link token
      description: Exchange a bridge public_token for a link access_token.
      operationId: link_exchange_token_flow
      requestBody:
        content:
          application/json:
            schema:
              title: request_body
              required:
                - public_token
              type: object
              properties:
                public_token:
                  description: Public token for an exchange
                  type: string
                  example: 48427a36d43c4d5aa6324bc06c692456
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkAccessTokenResponse'
        '400':
          description: HTTP 400 Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: HTTP 401 Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: HTTP 403 Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
components:
  schemas:
    LinkAccessTokenResponse:
      required:
        - access_token
        - link_id
      type: object
      properties:
        access_token:
          description: Access token
          type: string
          example: 48427a36d43c4d5aa6324bc06c692456
        link_id:
          description: Link ID
          type: string
          example: 24d7e80942ce4ad58a93f70ce4115f5c
        link_hash:
          description: Link hash
          type: string
          nullable: true
          example: bc917458a3da4b2c8cc8282aa1707aaa
        data_source:
          description: >-
            Source of data: payroll - payroll provider parsing, docs - user
            uploaded documents, insurance - insurance data, financial_accounts -
            bank data, tax - tax documents, scoring_attributes - transactions
            scoring attributes report.
          type: string
          enum:
            - payroll
            - docs
            - insurance
            - financial_accounts
            - tax
            - scoring_attributes
          example: payroll
    Error400:
      description: ''
      type: object
      properties:
        error:
          description: ''
          type: object
          properties:
            code:
              description: ''
              type: string
              example: incorrect_parameters
            message:
              description: ''
              type: string
              example: Incorrect request parameters
            extra:
              description: ''
              type: object
              properties:
                invalid-params:
                  description: ''
                  type: array
                  items:
                    description: ''
                    type: object
                    properties:
                      field:
                        description: ''
                        type: string
                        example: access_token
                      message:
                        description: ''
                        type: string
                        example: This field is required.
                  example:
                    - field: access_token
                      message: This field is required.
    Error401:
      description: ''
      type: object
      properties:
        error:
          description: ''
          type: object
          properties:
            code:
              description: ''
              type: string
              example: authentication_failed
            message:
              description: ''
              type: string
              example: No such token
    Error403:
      description: ''
      type: object
      properties:
        error:
          description: ''
          type: object
          properties:
            code:
              description: ''
              type: string
              example: not_authenticated
            message:
              description: ''
              type: string
              example: Authentication credentials were not provided.
  securitySchemes:
    ClientID:
      type: apiKey
      description: Client ID
      name: X-Access-Client-Id
      in: header
    AccessKey:
      type: apiKey
      description: Client Access Key
      name: X-Access-Secret
      in: header

````