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

# Get Assessment Link

> Returns the URL of the assessment for the profile so you can deliver it through your own channels, such as an
onboarding email, a chat message, or a QR code. Nothing is sent to the individual by this endpoint.

Unlike the email and SMS invites, this URL is not a one-time magic link and does not expire. Opening it does not
sign the individual in: they are shown a masked version of the email address or phone number on their profile and
must request a one-time sign-in link to that contact before starting. Sharing the URL therefore exposes no profile
data.


<Tip>Use this when you want to deliver the assessment yourself, such as embedding the link in your own onboarding email, a chat message, or a QR code. Nothing is sent to the individual when you call it.</Tip>

Unlike the [email](/api-reference/endpoints/post-profile-invite-email) and [SMS](/api-reference/endpoints/post-profile-invite-sms) invites, this URL is not a one-time magic link and does not expire. Opening it does not sign the individual in. They are shown a masked version of the email address or phone number on their profile and must request a one-time sign-in link to that contact before starting, so sharing the URL exposes no profile data.


## OpenAPI

````yaml GET /profile/{profileId}/invite/link
openapi: 3.1.0
info:
  title: Profile Behavior API
  description: >
    Unlock actionable behavioral insights for leadership, teamwork, recruiting,
    and team culture.

    Profile delivers powerful assessments, analytics, and reporting for
    businesses, athletic teams, and higher education.


    For full product information, code samples, and API reference, see our
    [support documentation](https://support.profilebehavior.com).


    > **LLMs and AI agents**: See
    [llms.txt](https://support.profilebehavior.com/llms.txt) for a
    machine-readable index of all documentation pages.


    > **MCP connector:** LLM clients (ChatGPT apps, Claude connectors) speak to
    `/mcp` over streamable HTTP. They discover OAuth automatically via
    [/.well-known/oauth-protected-resource](https://vanguard.profilebehavior.com/.well-known/oauth-protected-resource),
    returned in the `WWW-Authenticate` header on any 401.


    > **Legacy manifests:**
      - [/.well-known/ai-plugin.json](https://vanguard.profilebehavior.com/.well-known/ai-plugin.json)
      - [/.well-known/mcp.json](https://vanguard.profilebehavior.com/.well-known/mcp.json)
  version: 3.1.0
  termsOfService: https://profilebehavior.com/legal/terms
  contact:
    name: Support
    url: https://profilebehavior.com/contact
    email: support@profilebehavior.com
  x-llm-sitemap: https://support.profilebehavior.com/llms.txt
  x-documentation-site: https://support.profilebehavior.com
  x-ai-plugin-manifest: https://vanguard.profilebehavior.com/.well-known/ai-plugin.json
  x-mcp-manifest: https://vanguard.profilebehavior.com/.well-known/mcp.json
  x-mcp-endpoint: https://vanguard.profilebehavior.com/mcp
  x-oauth-protected-resource: https://vanguard.profilebehavior.com/.well-known/oauth-protected-resource
servers:
  - url: https://vanguard.profilebehavior.com/api/v4
    description: >-
      Default. Routes each request to the nearest region and responds 421 if the
      account lives elsewhere.
  - url: https://vanguard-us.profilebehavior.com/api/v4
    description: United States
  - url: https://vanguard-eu.profilebehavior.com/api/v4
    description: European Union
  - url: https://vanguard-sea.profilebehavior.com/api/v4
    description: Singapore
security:
  - M2M: []
  - OAuth2: []
tags:
  - name: test
    description: Endpoints for testing the API.
  - name: assessment_invites
    description: Information on sending invitations to take the assessment.
  - name: assessments
    description: Behavioral, leadership, and communication assessment endpoints.
  - name: accounts
    description: >-
      Endpoints for retrieving and managing account and organization
      information.
  - name: fixtures
    description: Endpoints for retrieving fixture data content such as report language.
  - name: playbook_ai
    description: Endpoints for generating and retrieving Playbook AI related content.
  - name: profiles
    description: Endpoints for individual behavioral profile management.
  - name: resource_aliases
    description: >-
      Endpoints for managing resource alias records that link Profile data to
      custom defined keys.
  - name: tags
    description: >-
      Endpoints for individual profile tags, categorization, and group
      management.
paths:
  /profile/{profileId}/invite/link:
    get:
      tags:
        - assessment_invites
      summary: Get a direct assessment link
      description: >
        Returns the URL of the assessment for the profile so you can deliver it
        through your own channels, such as an

        onboarding email, a chat message, or a QR code. Nothing is sent to the
        individual by this endpoint.


        Unlike the email and SMS invites, this URL is not a one-time magic link
        and does not expire. Opening it does not

        sign the individual in: they are shown a masked version of the email
        address or phone number on their profile and

        must request a one-time sign-in link to that contact before starting.
        Sharing the URL therefore exposes no profile

        data.
      operationId: GetProfileAssessmentLink
      parameters:
        - name: profileId
          in: path
          description: |
            ID of the profile to get the assessment link for.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Success'
                  - type: object
                    required:
                      - link
                    properties:
                      link:
                        type: string
                        format: uri
                        description: The URL the individual opens to take their assessment.
              example:
                code: 200
                link: >-
                  https://next.profilebehavior.com/assessment/60e9ca73c500a9001534ad84
                status: success
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          description: >
            Forbidden - the profile does not exist or is not associated with
            your account (as an active or pending profile), or your account is
            paused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: 403
                error:
                  message: Access denied
                  timestamp: '2025-01-01T09:42:52.329056-05:00'
                status: error
        '421':
          $ref: '#/components/responses/MisdirectedRequest'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    Success:
      type: object
      description: >
        Standard response object for successful single-resource requests in the
        Profile Behavior API. Contains an HTTP status code, the returned
        resource data, and a status indicator.
      required:
        - code
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code of the successful response.
        status:
          type: string
          description: Always "success" for successful responses.
          enum:
            - success
    Error:
      type: object
      description: >
        Standard error response object returned by the Profile Behavior API.
        Contains the HTTP status code, a human-readable message, and the time
        the error occurred.
      required:
        - code
        - error
        - status
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code associated with the error.
        error:
          type: object
          required:
            - message
            - timestamp
          properties:
            message:
              type: string
              description: A human-readable summary describing the error.
            timestamp:
              type: string
              format: date-time
              description: ISO 8601 timestamp when the error occurred.
        status:
          type: string
          description: Always "error" for error responses.
          enum:
            - error
    RegionError:
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          required:
            - region
          properties:
            region:
              type: object
              description: >-
                The region that serves this account. Send the request again to
                the API in this region.
              required:
                - zone
                - apiUrl
              properties:
                zone:
                  type: string
                  description: Region identifier.
                  example: EU
                apiUrl:
                  type: string
                  format: uri
                  description: >-
                    Root URL of the API in that region. The v4 base URL is this
                    value followed by /v4.
                  example: https://vanguard-eu.profilebehavior.com/api
  responses:
    BadRequest:
      description: Invalid request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 400
            error:
              message: Invalid request body
              timestamp: '2025-01-01T09:42:52.329056-05:00'
            status: error
    Unauthorized:
      description: Unauthorized - authentication required.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 401
            error:
              message: Invalid token
              timestamp: '2025-01-01T09:42:52.329056-05:00'
            status: error
    PaymentRequired:
      description: >-
        Payment Required - the account's billing status does not permit this
        request, for example an expired trial or a trial account that has
        reached its report limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 402
            error:
              message: Maximum reports reached for trial account
              timestamp: '2025-01-01T09:42:52.329056-05:00'
            status: error
    MisdirectedRequest:
      description: >-
        Misdirected Request. The account belongs to a different region. Send the
        request again to the API in the region named in the response.
      headers:
        X-Profile-Region:
          description: Region identifier of the account's home region.
          schema:
            type: string
            example: EU
        X-Profile-Region-Url:
          description: Root URL of the API in the account's home region.
          schema:
            type: string
            format: uri
            example: https://vanguard-eu.profilebehavior.com/api
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegionError'
          example:
            code: 421
            error:
              message: This account is served from another region
              timestamp: '2025-01-01T09:42:52.329056-05:00'
            region:
              zone: EU
              apiUrl: https://vanguard-eu.profilebehavior.com/api
            status: error
    InternalError:
      description: >-
        Internal Server Error - an unexpected error occurred while processing
        the request. Retry the request; if the problem persists, contact
        support.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 500
            error:
              message: Internal error
              timestamp: '2025-01-01T09:42:52.329056-05:00'
            status: error
  securitySchemes:
    M2M:
      type: http
      scheme: bearer
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.profilebehavior.com/oauth/authorize
          tokenUrl: https://login.profilebehavior.com/oauth/token
          scopes:
            profiles:read: Read profiles and behavioral summaries (scores, AI debriefs)
            profiles:write: Create, update, delete profiles and send assessment invites
            tags:manage: Create, update, delete, and assign tags
            account:read: Read account details, assessments, and resource aliases
            account:write: Update account settings and resource aliases
      description: >
        OAuth 2.1 authorization code flow with PKCE. Use this whenever your

        integration acts on behalf of a specific Profile user: third-party

        apps, AI agents and MCP servers, and any browser-based or CLI tool

        a user signs in to.


        Tokens issued under this scheme are scoped to one Profile account

        (the one the user consented from) and carry OAuth scopes that

        narrow what the integration can do.


        Discovery is served at

        [/.well-known/oauth-protected-resource](/.well-known/oauth-protected-resource).

        The authorization server is Stytch Connected Apps, which supports

        Dynamic Client Registration for on-the-fly clients (e.g. MCP

        agents) in addition to pre-registered integrations.

````

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