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

# Set third-party identifier

> This endpoint creates a third-party identifier for a specific location and individual. It is used to associate an external identifier with an individual in the system.

- location_id** (required): The ID of the location where the third-party identifier is to be created.
- individual_id & individual_type** are not required for setting the practice's third party identifier known as external id.
- individual_id & individual_type** are required for setting the employee's third party identifier known as external id.
- individual_id** (optional): The ID of the individual for whom the third-party identifier is being created.
- individual_type** (optional): The type of individual (e.g., Employee).
- The request body must be in JSON format and should include the following:
- third_party_identifier** (object): Contains the external identifier.
- external_id** (string): The external ID to be associated with the individual.



## OpenAPI

````yaml https://app.teamcaredental.com/openapi-vendors.json post /locations/{location_id}/third_party_identifiers
openapi: 3.1.0
info:
  title: TeamCare Vendor API
  version: 1.0.0
  description: Vendor APIs for integrating dental office data. HIPAA-compliant and opt-in.
servers:
  - url: https://app.teamcaredental.com/api/v1/vendors
security:
  - bearerAuth: []
paths:
  /locations/{location_id}/third_party_identifiers:
    post:
      tags:
        - Externals
      summary: Set third-party identifier
      description: >-
        This endpoint creates a third-party identifier for a specific location
        and individual. It is used to associate an external identifier with an
        individual in the system.


        - location_id** (required): The ID of the location where the third-party
        identifier is to be created.

        - individual_id & individual_type** are not required for setting the
        practice's third party identifier known as external id.

        - individual_id & individual_type** are required for setting the
        employee's third party identifier known as external id.

        - individual_id** (optional): The ID of the individual for whom the
        third-party identifier is being created.

        - individual_type** (optional): The type of individual (e.g., Employee).

        - The request body must be in JSON format and should include the
        following:

        - third_party_identifier** (object): Contains the external identifier.

        - external_id** (string): The external ID to be associated with the
        individual.
      operationId: locations_resources_externals_set
      parameters:
        - name: location_id
          in: path
          required: true
          schema:
            type: string
        - name: individual_id
          in: query
          required: false
          schema:
            type: integer
            example: 158821
        - name: individual_type
          in: query
          required: false
          schema:
            type: string
            example: Employee
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                third_party_identifier:
                  type: object
                  properties:
                    external_id:
                      type: string
                      example: ''
            example:
              third_party_identifier:
                external_id: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                      attributes:
                        type: object
                        properties:
                          external_id:
                            type: string
              example:
                data:
                  id: string
                  type: string
                  attributes:
                    external_id: string
        '401':
          description: Missing, invalid or expired token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: not authorized
        '403':
          description: The credential may not access this resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: access Denied
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: resource not found
        '422':
          description: The request could not be processed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
              example:
                errors: ...
        '429':
          description: >-
            Concurrency limit exceeded. The request was not executed; retry is
            safe.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: string
                  sync_type:
                    type: string
                    enum:
                      - initial
                      - incremental
                  max_concurrent_locations:
                    type: integer
                  active_location_ids:
                    type: array
                    items:
                      type: integer
                  retry_after_seconds:
                    type: integer
              example:
                errors: >-
                  Too many locations syncing concurrently. At most 5 locations
                  may have initial sync requests in flight at a time.
                sync_type: initial
                max_concurrent_locations: 5
                active_location_ids:
                  - 101
                  - 102
                  - 103
                  - 104
                  - 105
                retry_after_seconds: 1
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT returned by POST /auth/token. Valid for six hours.

````