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

# Create identity connection link

> Create a one-time link where a person signs in to LinkedIn and connects an identity to this workspace, without an Enginy account: send it to the sales rep whose identity you are adding or reconnecting. With `identityId` the link reconnects that identity only; without it the person connects a new one (the workspace needs a free identity slot, see `canAddIdentity`). The link opens on the workspace's white-label custom domain when its organization has a verified one (choose one with `domain`), otherwise on Enginy's app. It expires after 24 hours and works once; while open, its session acts as the API key creator, who must be allowed to manage identities.

    > **Required scope:** `ALL`
    >
    > **Rate limit:** 10 requests per minute



## OpenAPI

````yaml https://openapi.enginy.ai/definitions.json post /v1/identities/connection-link
openapi: 3.1.0
info:
  title: Enginy API
  version: 1.0.0
  description: Public API for Enginy platform
servers:
  - url: https://openapi.enginy.ai
    description: Configured server
security: []
tags:
  - name: AI Variables
    description: >-
      Manage AI variables and discover the entity fields you can reference in
      prompts and entity requests.
  - name: Inbox
    description: >-
      Inbox endpoints for listing contact threads, reading thread messages,
      managing tags, and sending manual replies.
  - name: Workspace
    description: >-
      The API key's workspace: its capacity, its organization, where its users
      open the app and where an admin buys more.
  - name: Organization
    description: >-
      For organizations (agencies, resellers, white-label partners, enterprises)
      and their client workspaces only. Create client workspaces, distribute
      credits and identity slots between them, and buy or request more capacity.
      Upsell and management only: no endpoint lowers the contracted quota.
      Clients billed through self-serve billing keep their own plan. Requires an
      organization role.
  - name: Workflows
    description: >-
      Build, validate, publish, run, and inspect advanced (graph) workflows,
      plus the block/condition catalog needed to author a workflow plan.
paths:
  /v1/identities/connection-link:
    post:
      tags:
        - Identities
      summary: Create identity connection link
      description: >-
        Create a one-time link where a person signs in to LinkedIn and connects
        an identity to this workspace, without an Enginy account: send it to the
        sales rep whose identity you are adding or reconnecting. With
        `identityId` the link reconnects that identity only; without it the
        person connects a new one (the workspace needs a free identity slot, see
        `canAddIdentity`). The link opens on the workspace's white-label custom
        domain when its organization has a verified one (choose one with
        `domain`), otherwise on Enginy's app. It expires after 24 hours and
        works once; while open, its session acts as the API key creator, who
        must be allowed to manage identities.

            > **Required scope:** `ALL`
            >
            > **Rate limit:** 10 requests per minute
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identityId:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 2147483647
                  description: >-
                    Reconnect this existing identity: the link can only sign in
                    to it. Omit it to let the recipient connect a new identity
                    (the workspace needs a free identity slot).
                domain:
                  type: string
                  minLength: 3
                  maxLength: 253
                  description: >-
                    The white-label custom domain the link opens on. Omit it to
                    use the workspace organization's oldest verified custom
                    domain, or Enginy's app when it has none. Must be a verified
                    (ACTIVE) custom domain of the workspace's white-label
                    organization.
              additionalProperties: false
            examples:
              newIdentity:
                summary: Connect a new identity
                value: {}
              reconnect:
                summary: Reconnect an existing identity
                value:
                  identityId: 123
              whiteLabel:
                summary: Open the link on a white-label domain
                value:
                  identityId: 123
                  domain: app.partner.com
      responses:
        '201':
          description: The connection link
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      url:
                        type: string
                        description: >-
                          The link to send to the person who connects the
                          identity.
                      expiresAt:
                        type: string
                        format: date-time
                      host:
                        type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - enginy
                              - white-label
                          domain:
                            type:
                              - string
                              - 'null'
                            description: The white-label custom domain, or `null`.
                        required:
                          - kind
                          - domain
                      identityId:
                        type:
                          - number
                          - 'null'
                      canAddIdentity:
                        type: boolean
                        description: >-
                          Whether the workspace has a free identity slot, so a
                          link without `identityId` can connect a new identity.
                    required:
                      - url
                      - expiresAt
                      - host
                      - identityId
                      - canAddIdentity
                required:
                  - status
                  - message
                  - data
        '400':
          description: >-
            Invalid body, or `domain` is not a verified custom domain of the
            workspace (`details.code`: `DOMAIN_NOT_AVAILABLE`)
        '403':
          description: >-
            The API key creator cannot manage identities (`restriction`), the
            key has no creator in its workspace (`details.code`:
            `CREATOR_NOT_IN_WORKSPACE`), or the key was created before the
            creator's sessions were last revoked
            (`KEY_PREDATES_SESSION_REVOCATION`)
        '404':
          description: Identity not found
        '429':
          description: Rate limit exceeded; retry after `X-RateLimit-Retry-After-Seconds`
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````

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