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

> ## Agent Instructions
> Bridge exposes three integration surfaces: the REST Integrations API for pushing data into Bridge, webhooks for receiving events from Bridge, and the public Lead Capture endpoint that a tenant's landing page posts to.
> The Integrations API host is https://api-connect-us.bridge.new and every request to it must be authenticated with the x-api-key header. Bridge does not use bearer tokens or OAuth.
> The Lead Capture endpoint is different and the Integrations API rules do not apply to it: it has its own host, it takes no x-api-key and no authentication header of any kind, and it is called from a visitor's browser. It is identified by a workspace id and a capture key together with a reCAPTCHA token. Never tell a reader to authenticate it with an API key, and never tell them to keep its capture key out of frontend code - it is designed to live in the page.
> Integrations API error codes follow the BRIDGE_<DOMAIN>_<NNNN> format, for example BRIDGE_CONVERSATION_0001, and are listed on the error codes page. Lead Capture error codes follow a different format, BRIDGE.CAMPAIGN_LEADS.<NAME>, and are listed on the Lead Capture error reference. Never invent a code that is not listed on the page for its own surface.
> This documentation covers the Integrations API, webhooks and Lead Capture only. It does not describe the Bridge web application or its internal APIs.

# Retrieve an internal user by an identifier

> Get a specific Bridge User by any of its identifiers within the workspace.

`type=ID` returns the same user as GET /users/{userId}, which is the canonical URL for an
internal user and the one to prefer when the id is what you hold.



## OpenAPI

````yaml /api-reference/openapi.yaml get /bridge/api/v1/workspaces/{workspaceId}/users/lookup
openapi: 3.1.0
info:
  title: Bridge API
  summary: Bridge API specification for chat system management.
  description: >-
    Bridge API specification including webhook receiver endpoints, Contact CRUD
    operations, and comprehensive chat system.

                        This API includes:
                        1. Webhook Receiver API - for CRM clients to receive event notifications from Bridge
                        2. Contact CRUD API - for clients to manage contacts in Bridge
                        3. Conversations API - for managing conversations with flexible user identification and participant management
                        4. Messages API - for sending messages and files to a conversation
                        5. Files API - for managing files in a message
                        6. Custom attributes API - for consult custom attributes of an specific workspace

                        **Multi-Tenant Architecture**: All operations are scoped to a specific workspace using workspaceId.
  termsOfService: https://www.sainapsis.com/legal/terms-of-service
  contact:
    name: Bridge Support
    url: https://app.bridge.new/
    email: support@sainapsis.com
  license:
    name: MIT License
    url: https://spdx.org/licenses/MIT.html
  version: 1.0.0
servers:
  - url: https://api-connect-us.bridge.new
    description: Production server
security: []
paths:
  /bridge/api/v1/workspaces/{workspaceId}/users/lookup:
    get:
      tags:
        - Internal Users API
      summary: Retrieve an internal user by an identifier
      description: >-
        Get a specific Bridge User by any of its identifiers within the
        workspace.


        `type=ID` returns the same user as GET /users/{userId}, which is the
        canonical URL for an

        internal user and the one to prefer when the id is what you hold.
      operationId: >-
        retrieve_internal_user_by_identifier_bridge_api_v1_workspaces__workspaceId__users_lookup_get
      parameters:
        - name: workspaceId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: Unique identifier of the workspace (UUID v4).
            examples:
              - b6cf1c4a-2b1e-4e63-8f3e-0f9d1a2a1234
            title: Workspaceid
          description: Unique identifier of the workspace (UUID v4).
        - name: type
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/InternalParticipantIdentifierType'
            description: >-
              Identifier the value is given as. An internal user's cellphone is
              not one.
          description: >-
            Identifier the value is given as. An internal user's cellphone is
            not one.
        - name: value
          in: query
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 320
            description: >-
              The identifier itself, in the form named by `type`. An `EMAIL` has
              its domain lowercased, but its local part is matched exactly as
              sent.
            title: Value
          description: >-
            The identifier itself, in the form named by `type`. An `EMAIL` has
            its domain lowercased, but its local part is matched exactly as
            sent.
          examples:
            email:
              summary: An email address
              description: >-
                Send with `type=EMAIL`. `John.Doe@example.com` and
                `john.doe@example.com` are different identifiers and do not
                resolve to the same internal user.
              value: john.doe@example.com
            id:
              summary: The internal user id
              description: >-
                Send with `type=ID`. Returns exactly what `GET /users/{userId}`
                returns, which stays the canonical URL for an internal user.
              value: 4e362e2b-67b2-4a7e-a9df-e9ecf9141be8
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalUserResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              examples:
                FORBIDDEN:
                  value:
                    title: Forbidden
                    status: 403
                    code: BRIDGE_CORE_0301
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not Found
          content:
            application/json:
              examples:
                WORKSPACE_NOT_FOUND:
                  value:
                    title: Workspace Not Found
                    status: 404
                    code: BRIDGE_WORKSPACE_0001
                INTERNAL_USER_NOT_FOUND:
                  value:
                    title: Internal User Not Found
                    status: 404
                    code: BRIDGE_INTERNAL_0001
              schema:
                $ref: '#/components/schemas/Problem'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              examples:
                INVALID_FIELD_FORMAT:
                  value:
                    title: Invalid Field Format
                    status: 422
                    code: BRIDGE_CORE_0101
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                WORKSPACE_BUDGET_EXHAUSTED:
                  value:
                    title: Too Many Requests
                    status: 429
                    code: BRIDGE_RATE_LIMIT_0001
      security:
        - x-api-key: []
components:
  schemas:
    InternalParticipantIdentifierType:
      type: string
      enum:
        - ID
        - EMAIL
      title: InternalParticipantIdentifierType
    InternalUserResponse:
      properties:
        id:
          type: string
          title: Identifier
          description: Unique identifier for the internal user (UUID v4).
          examples:
            - b6cf1c4a-2b1e-4e63-8f3e-0f9d1a2a1234
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: Internal user's first name.
          examples:
            - John
            - null
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Internal user's last name.
          examples:
            - Doe
            - null
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: Internal user's email address.
          examples:
            - john.doe@example.com
            - null
        cellphone:
          anyOf:
            - type: string
            - type: 'null'
          title: Cellphone
          description: Internal user's cellphone number.
          examples:
            - '+14084029292'
            - null
        languageCode:
          anyOf:
            - $ref: '#/components/schemas/LanguageCode'
            - type: 'null'
          title: Language Code
          description: Language code of the internal user.
          examples:
            - EN
            - null
        status:
          type: string
          enum:
            - active
            - disabled
          title: Status
          description: >-
            'active' when the internal user is live, 'disabled' when the user
            has been removed.
          examples:
            - active
            - disabled
        createdAt:
          type: string
          title: Created At
          description: Timestamp when the internal user was created.
          examples:
            - '2003-04-10T08:00:00.000Z'
        updatedAt:
          type: string
          title: Updated At
          description: Timestamp when the internal user was last updated.
          examples:
            - '2003-04-10T08:00:00.000Z'
      type: object
      required:
        - id
        - status
        - createdAt
        - updatedAt
      title: InternalUserResponse
      description: Response body for internal-user (human agent) read operations.
    Problem:
      properties:
        title:
          type: string
          title: Title
          description: Short, summary of the problem type.
        status:
          type: integer
          title: Status
          description: >-
            HTTP status code generated by the origin server for this occurrence
            of the problem.
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
          description: Explanation specific to this occurrence of the problem.
        instance:
          anyOf:
            - type: string
            - type: 'null'
          title: Instance
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
        traceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Traceid
          description: Trace ID for debugging purposes.
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
          description: >-
            Error code for identification, view the error codes page for more
            details.
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Errors
          description: List of error details.
        extra:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Extra
          description: Extra information about the problem.
      type: object
      required:
        - title
        - status
      title: Problem
      description: Object representing a Problem response body.
    LanguageCode:
      type: string
      enum:
        - ES
        - EN
        - AF
        - SQ
        - AR
        - AZ
        - BN
        - BG
        - CA
        - ZH_CN
        - HR
        - CS
        - DA
        - NL
        - ET
        - FIL
        - FI
        - FR
        - KA
        - DE
        - EL
        - GU
        - HA
        - HE
        - HI
        - HU
        - ID
        - GA
        - IT
        - JA
        - KN
        - KK
        - RW_RW
        - KO
        - KY_KG
        - LO
        - LV
        - LT
        - MK
        - MS
        - ML
        - MR
        - NB
        - FA
        - PL
        - PT_BR
        - PA
        - RO
        - RU
        - SR
        - SK
        - SL
        - SW
        - SV
        - TA
        - TE
        - TH
        - TR
        - UK
        - UR
        - UZ
        - VI
        - ZU
      title: LanguageCode
  securitySchemes:
    x-api-key:
      type: apiKey
      description: Copy the API key as provided by the Bridge Console.
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.