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

# Get contact

> Gets a contact from the specified workspace, including contact details, tags, saved contact notes, linked note metadata, and capture context. Personal contacts must belong to the key owner. Business owners, admins, and members can retrieve a visible business contact when its ID is known; business members cannot discover these IDs through the list endpoint.

Missing contacts and inaccessible workspaces return `404`.

Requires the `blinq:contacts:read` scope.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/workspaces/{workspace_id}/contacts/{contact_id}
openapi: 3.1.0
info:
  title: Blinq Public API
  version: 1.0.0
  description: >-
    The Blinq API provides programmatic access to your contacts and notes.
    Connect Blinq to your existing tools, keep contact records in sync, and
    build workflows on note summaries and transcripts.


    API access requires a [Blinq Pro or Business plan](https://blinq.me/pricing)
    and a verified email address. Keys are personal and scoped: they never grant
    access beyond what their owner can already see.


    ## Access scopes


    Choose one or more scopes when creating a key.


    | Scope | Grants access to |

    | --- | --- |

    | `blinq:contacts:read` | Your personal contacts. Business owners and admins
    can list contacts; members can retrieve a visible contact by a known ID. |

    | `blinq:cards:read` | Lightweight card summaries and sharing links in your
    personal workspace and business workspaces you own or administer. |

    | `blinq:notes:read` | Your own notes and transcripts. |

    | `blinq:identity:read` | Your identity and the workspaces you belong to. |


    ## Creating and revoking keys


    1. In the Blinq web app, open Settings > API keys.

    2. Select **Create new key**, choose a name and the scopes your integration
    needs, then select **Generate API key**.

    3. Copy the key when it is shown. The secret is displayed only once; store
    it securely.


    To revoke a key, return to Settings > API keys and select **Revoke**. A
    revoked key stops authenticating new requests immediately.


    ## Quick start


    Send your key to `https://api.blinq.me` as `Authorization: Bearer
    <api-key>`. In the documentation playground, enter only the key, without
    `Bearer`.


    List your notes (requires `blinq:notes:read`):


    ```bash

    curl 'https://api.blinq.me/v1/notes?limit=5' \
      -H 'Authorization: Bearer <api-key>'
    ```


    Contact routes are scoped to one workspace. `GET /v1/workspaces` (requires
    `blinq:identity:read`) discovers workspace IDs; listing contacts from a
    known workspace ID needs only `blinq:contacts:read`:


    ```bash

    curl 'https://api.blinq.me/v1/workspaces/<workspace-id>/contacts?limit=5' \
      -H 'Authorization: Bearer <api-key>'
    ```


    ## Errors


    All errors return a JSON body with `status` (the HTTP status code), `error`
    (the HTTP status name, such as `Bad Request`), `code` (a machine-readable
    error code), `message` (a human-readable description; wording may change, so
    branch on `code` instead), and `request_id` (the unique ID of the request,
    also returned as the `X-Request-Id` header). Validation errors may add a
    `details` array naming each parameter or body field that failed.


    Any route can return `400` when query parameters or the body are invalid
    (unknown query parameters are rejected), `401` when the API key is missing
    or invalid, `403` when the key is missing a required scope, its owner lacks
    permission, or the account plan does not include the operation, and `429`
    when the rate limit is reached (see Rate limits). Any route can also return
    `500` when an unexpected error occurs (quote `request_id` when contacting
    support) and `503` when API key verification or the requested operation is
    unavailable.


    The responses documented on each route below list only the status codes
    specific to that operation.


    ## Rate limits


    Each person can make up to **25 requests in any 5-second window**, or **300
    requests per minute** at a steady rate. The quota is shared across all of
    their API keys; creating more keys does not increase it. When the limit is
    reached, the API returns `429 Too Many Requests` with a `Retry-After` header
    in seconds. Wait that long before retrying.
servers:
  - url: https://api.blinq.me
security: []
tags:
  - name: Contacts
    description: >-
      List contact summaries or get contact details, saved contact notes, and
      linked note metadata.


      Contact lists include personal contacts and contacts in business
      workspaces the authenticated user owns or administers. Business members
      receive an empty list, but can retrieve a visible business contact by
      known ID.


      Requires the `blinq:contacts:read` scope.
  - name: Cards
    description: >-
      List or get lightweight card summaries: the name, title, company,
      department, and public sharing URL on each card.


      Card routes are scoped to one workspace: your personal workspace or a
      business workspace you own or administer. Business members cannot read
      team cards.


      Requires the `blinq:cards:read` scope.
  - name: Notes
    description: >-
      List note metadata, get note content and transcripts, search notes, or
      generate answers with citations.


      Only notes owned by the authenticated user are accessible.


      Requires the `blinq:notes:read` scope.
  - name: Workspaces
    description: >-
      List every workspace the authenticated user belongs to, with its type and
      their role.


      Use a known workspace ID directly, or discover it here. Business contact
      listing requires owner or admin; retrieving a visible contact by known ID
      also allows members.


      Requires the `blinq:identity:read` scope.
  - name: Me
    description: >-
      Identify the user the supplied API key acts as, with their ID and sign-in
      email.


      Confirm whose account an integration is accessing before listing
      workspaces or fetching data.


      Requires the `blinq:identity:read` scope.
paths:
  /v1/workspaces/{workspace_id}/contacts/{contact_id}:
    get:
      tags:
        - Contacts
      summary: Get contact
      description: >-
        Gets a contact from the specified workspace, including contact details,
        tags, saved contact notes, linked note metadata, and capture context.
        Personal contacts must belong to the key owner. Business owners, admins,
        and members can retrieve a visible business contact when its ID is
        known; business members cannot discover these IDs through the list
        endpoint.


        Missing contacts and inaccessible workspaces return `404`.


        Requires the `blinq:contacts:read` scope.
      operationId: getContact
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: workspace_id
          required: true
          description: >-
            The ID of the workspace containing the contact. Use the
            `workspace_id` returned when listing contacts.
        - schema:
            type: string
            minLength: 1
          in: path
          name: contact_id
          required: true
          description: The contact ID.
      responses:
        '200':
          description: The requested contact.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The contact ID.
                  workspace_id:
                    type: string
                    description: The ID of the workspace used to retrieve the contact.
                  type:
                    type: string
                    enum:
                      - personal
                      - business
                    description: >-
                      Whether the contact belongs to a personal workspace
                      (`personal`) or a team workspace (`business`).
                  first_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The contact's first name, or `null` when no first name is
                      saved.
                  middle_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The contact's middle name.
                  last_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The contact's last name, or `null` when no last name is
                      saved.
                  full_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The contact's full name, or `null` when no name is saved.
                  preferred_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The name the contact prefers to use.
                  pronouns:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The contact's pronouns.
                  job_title:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The contact's job title.
                  company_name:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The name of the contact's company.
                  department:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The contact's department within their company.
                  headline:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: The contact's profile headline.
                  avatar_url:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The URL of the contact's profile image, or `null` when
                      there is none.
                  company_logo_url:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The URL of the contact's company logo, or `null` when
                      there is none.
                  emails:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: The saved value of the contact field.
                        label:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            A saved label, such as `Work`, `Home`, or a custom
                            label. `null` when none is saved.
                      required:
                        - value
                        - label
                      additionalProperties: false
                    description: The contact's email addresses and their labels.
                  phone_numbers:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: The saved value of the contact field.
                        label:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            A saved label, such as `Work`, `Home`, or a custom
                            label. `null` when none is saved.
                        country_code:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            The stored country code. Values can be a region code
                            such as `US` or a calling code such as `+1`.
                        extension:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: The phone number extension.
                      required:
                        - value
                        - label
                        - country_code
                        - extension
                      additionalProperties: false
                    description: >-
                      The contact's phone numbers and their labels, country
                      codes, and extensions.
                  urls:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: The saved value of the contact field.
                        label:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            A saved label, such as `Work`, `Home`, or a custom
                            label. `null` when none is saved.
                      required:
                        - value
                        - label
                      additionalProperties: false
                    description: >-
                      The contact's website and social profile URLs and their
                      labels.
                  addresses:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: The saved value of the contact field.
                        label:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            A saved label, such as `Work`, `Home`, or a custom
                            label. `null` when none is saved.
                      required:
                        - value
                        - label
                      additionalProperties: false
                    description: The contact's postal addresses as text values with labels.
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          type: string
                          description: The tag text.
                      required:
                        - value
                      additionalProperties: false
                    description: Tags assigned to the contact.
                  contact_notes:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The contact note ID.
                        text:
                          type: string
                          description: >-
                            The saved text of the contact note. Empty saved text
                            is preserved.
                        created_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          description: >-
                            When the contact note was created, as an ISO 8601
                            timestamp.
                      required:
                        - id
                        - text
                        - created_at
                      additionalProperties: false
                    description: Text notes saved on the contact.
                  linked_notes:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The ID of the linked note.
                        title:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            The custom title, otherwise the generated title, or
                            `null` when it has neither.
                        created_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          description: >-
                            When the user's device created the note, as an ISO
                            8601 timestamp.
                        type:
                          type: string
                          enum:
                            - voice_note
                            - phone_call
                            - text
                          description: >-
                            How the linked note was captured: a recorded
                            `voice_note`, a recorded `phone_call`, or a typed
                            `text` note.
                      required:
                        - id
                        - title
                        - created_at
                        - type
                      additionalProperties: false
                    description: >-
                      Metadata for notes linked to the contact, including each
                      note's ID, title, creation time, and type.
                  capture_context:
                    anyOf:
                      - type: object
                        properties:
                          recorded_at:
                            anyOf:
                              - type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                              - type: 'null'
                            description: >-
                              The saved capture timestamp as ISO 8601, or `null`
                              when unavailable. For business contacts, uses the
                              selected recipient capture time, then recipient
                              sharing time, contact sharing time, or contact
                              capture time, in that order.
                          location:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              The location recorded when the contact was
                              captured.
                          cardholder_name:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              The name on the recipient card, or `null` when
                              unavailable. For business contacts, uses the
                              earliest recipient by capture time (sharing time
                              if capture time is absent); legacy recipients
                              missing both times sort first. Falls back to the
                              contact referrer card when no recipient card is
                              recorded. This does not identify a verified
                              meeting participant.
                        required:
                          - recorded_at
                          - location
                          - cardholder_name
                        additionalProperties: false
                      - type: 'null'
                    description: >-
                      Saved capture metadata, not evidence of a meeting. For
                      business contacts, location and cardholder refer to the
                      selected earliest recipient. `null` means no capture
                      metadata is available.
                  created_at:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      - type: 'null'
                    description: When the contact was created, as an ISO 8601 timestamp.
                  updated_at:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      - type: 'null'
                    description: >-
                      When the contact was last updated, as an ISO 8601
                      timestamp.
                required:
                  - id
                  - workspace_id
                  - type
                  - first_name
                  - middle_name
                  - last_name
                  - full_name
                  - preferred_name
                  - pronouns
                  - job_title
                  - company_name
                  - department
                  - headline
                  - avatar_url
                  - company_logo_url
                  - emails
                  - phone_numbers
                  - urls
                  - addresses
                  - tags
                  - contact_notes
                  - linked_notes
                  - capture_context
                  - created_at
                  - updated_at
                additionalProperties: false
                description: The requested contact.
              example:
                id: contact-id
                workspace_id: workspace-id
                type: business
                first_name: Jane
                middle_name: null
                last_name: Doe
                full_name: Jane Doe
                preferred_name: null
                pronouns: null
                job_title: Designer
                company_name: Example
                department: null
                headline: null
                avatar_url: https://example.com/avatar.png
                company_logo_url: null
                emails:
                  - value: jane@example.com
                    label: Work
                phone_numbers:
                  - value: '5550100'
                    label: null
                    country_code: '+1'
                    extension: null
                urls:
                  - value: https://example.com
                    label: Website
                addresses:
                  - value: 123 Example St, Melbourne
                    label: Office
                tags:
                  - value: Customer
                contact_notes:
                  - id: contact-note-id
                    text: Follow up next week.
                    created_at: '2026-10-01T00:00:00.000Z'
                linked_notes:
                  - id: note-id
                    title: Meeting notes
                    created_at: '2026-10-01T00:00:00.000Z'
                    type: voice_note
                capture_context:
                  recorded_at: '2026-10-01T00:00:00.000Z'
                  location: Melbourne
                  cardholder_name: Sam Smith
                created_at: '2026-10-01T00:00:00.000Z'
                updated_at: '2026-10-01T00:00:00.000Z'
        '400':
          description: >-
            Bad request - Invalid query parameters or body. See `details` for
            each failing field
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: The HTTP status code of the response.
                  error:
                    type: string
                    description: The HTTP status name, such as `Bad Request`.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - plan_required
                      - not_found
                      - unsupported_media_type
                      - rate_limited
                      - internal_error
                      - upstream_unavailable
                    description: >-
                      A machine-readable code identifying the error. Use this
                      value for programmatic error handling.
                  message:
                    type: string
                    description: >-
                      A human-readable description. Wording may change; branch
                      on `code` instead.
                  request_id:
                    type: string
                    description: >-
                      The unique ID of this request, also returned as the
                      `X-Request-Id` header. Include it when contacting support.
                  details:
                    description: Additional validation errors, when available.
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                          description: >-
                            The parameter or body field that failed validation,
                            such as `limit`. Empty for errors that apply to the
                            whole request.
                        message:
                          type: string
                          description: A description of the validation error.
                      required:
                        - path
                        - message
                      additionalProperties: false
                required:
                  - status
                  - error
                  - code
                  - message
                  - request_id
                additionalProperties: false
                description: >-
                  Bad request - Invalid query parameters or body. See `details`
                  for each failing field
              example:
                status: 400
                error: Bad Request
                code: invalid_request
                message: The request is invalid.
                request_id: req-1
                details:
                  - path: limit
                    message: 'Too big: expected number to be <=50'
        '401':
          description: Unauthorized - Missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: The HTTP status code of the response.
                  error:
                    type: string
                    description: The HTTP status name, such as `Bad Request`.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - plan_required
                      - not_found
                      - unsupported_media_type
                      - rate_limited
                      - internal_error
                      - upstream_unavailable
                    description: >-
                      A machine-readable code identifying the error. Use this
                      value for programmatic error handling.
                  message:
                    type: string
                    description: >-
                      A human-readable description. Wording may change; branch
                      on `code` instead.
                  request_id:
                    type: string
                    description: >-
                      The unique ID of this request, also returned as the
                      `X-Request-Id` header. Include it when contacting support.
                  details:
                    description: Additional validation errors, when available.
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                          description: >-
                            The parameter or body field that failed validation,
                            such as `limit`. Empty for errors that apply to the
                            whole request.
                        message:
                          type: string
                          description: A description of the validation error.
                      required:
                        - path
                        - message
                      additionalProperties: false
                required:
                  - status
                  - error
                  - code
                  - message
                  - request_id
                additionalProperties: false
                description: Unauthorized - Missing or invalid API key
              example:
                status: 401
                error: Unauthorized
                code: unauthorized
                message: Missing or invalid API key.
                request_id: req-1
        '403':
          description: >-
            Forbidden - Missing scope, insufficient permission, or the plan does
            not include this operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: The HTTP status code of the response.
                  error:
                    type: string
                    description: The HTTP status name, such as `Bad Request`.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - plan_required
                      - not_found
                      - unsupported_media_type
                      - rate_limited
                      - internal_error
                      - upstream_unavailable
                    description: >-
                      A machine-readable code identifying the error. Use this
                      value for programmatic error handling.
                  message:
                    type: string
                    description: >-
                      A human-readable description. Wording may change; branch
                      on `code` instead.
                  request_id:
                    type: string
                    description: >-
                      The unique ID of this request, also returned as the
                      `X-Request-Id` header. Include it when contacting support.
                  details:
                    description: Additional validation errors, when available.
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                          description: >-
                            The parameter or body field that failed validation,
                            such as `limit`. Empty for errors that apply to the
                            whole request.
                        message:
                          type: string
                          description: A description of the validation error.
                      required:
                        - path
                        - message
                      additionalProperties: false
                required:
                  - status
                  - error
                  - code
                  - message
                  - request_id
                additionalProperties: false
                description: >-
                  Forbidden - Missing scope, insufficient permission, or the
                  plan does not include this operation
              examples:
                example1:
                  value:
                    status: 403
                    error: Forbidden
                    code: forbidden
                    message: You do not have access to the requested resource.
                    request_id: req-1
                example2:
                  value:
                    status: 403
                    error: Forbidden
                    code: plan_required
                    message: >-
                      The API key owner must have a Blinq Pro or Business plan
                      to use this endpoint.
                    request_id: req-1
        '404':
          description: Not found - The contact was not found or access was denied
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: The HTTP status code of the response.
                  error:
                    type: string
                    description: The HTTP status name, such as `Bad Request`.
                  code:
                    type: string
                    enum:
                      - invalid_request
                      - unauthorized
                      - forbidden
                      - plan_required
                      - not_found
                      - unsupported_media_type
                      - rate_limited
                      - internal_error
                      - upstream_unavailable
                    description: >-
                      A machine-readable code identifying the error. Use this
                      value for programmatic error handling.
                  message:
                    type: string
                    description: >-
                      A human-readable description. Wording may change; branch
                      on `code` instead.
                  request_id:
                    type: string
                    description: >-
                      The unique ID of this request, also returned as the
                      `X-Request-Id` header. Include it when contacting support.
                  details:
                    description: Additional validation errors, when available.
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                          description: >-
                            The parameter or body field that failed validation,
                            such as `limit`. Empty for errors that apply to the
                            whole request.
                        message:
                          type: string
                          description: A description of the validation error.
                      required:
                        - path
                        - message
                      additionalProperties: false
                required:
                  - status
                  - error
                  - code
                  - message
                  - request_id
                additionalProperties: false
                description: Not found - The contact was not found or access was denied
              example:
                status: 404
                error: Not Found
                code: not_found
                message: The requested resource was not found.
                request_id: req-1
      security:
        - API key: []
components:
  securitySchemes:
    API key:
      type: http
      scheme: bearer
      description: >-
        Send a Blinq API key as `Authorization: Bearer <api-key>`; enter only
        the key in the documentation playground.


        Create and revoke keys in the Blinq web app under Settings > API keys.


        The key needs the scopes required by the operation, and public API
        access requires a Pro or Business plan.

````

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