> ## 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.

# Create Resource Alias

> Creates a resource alias for the account which serves as a way of creating custom identification for data in the Profile system using a `consumerKey` and relating it based on the resource type and ID. If a resource alias already exists with all of the same fields as provided, the existing alias data will be returned.




## OpenAPI

````yaml POST /resource-alias
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.0.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
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:
  /resource-alias:
    post:
      tags:
        - resource_aliases
      summary: Create a new resource alias.
      description: >
        Creates a resource alias for the account which serves as a way of
        creating custom identification for data in the Profile system using a
        `consumerKey` and relating it based on the resource type and ID. If a
        resource alias already exists with all of the same fields as provided,
        the existing alias data will be returned.
      operationId: CreateResourceAlias
      requestBody:
        description: The properties to be assigned to the resource alias.
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - resourceType
                - resourceId
                - consumerKey
              properties:
                resourceType:
                  type: string
                  description: >-
                    The resource type that the alias is for. This corresponds to
                    existing model types in the Profile system.
                  enum:
                    - profile
                resourceId:
                  type: string
                  description: >
                    A valid bson Object ID which corresponds to an existing data
                    object in the Profile system based on the the `resourceType`
                    indicated.
                consumerKey:
                  type: string
                  description: >
                    The custom identifier that can be used as an alias for the
                    resource specified. This could be a text description, an ID
                    from an external system, etc.
      responses:
        '200':
          description: Success — Existing Alias Found
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Success'
                  - type: object
                    properties:
                      resourceAlias:
                        $ref: '#/components/schemas/ResourceAlias'
              example:
                code: 200
                resourceAlias:
                  resourceType: profile
                  resourceId: 6592008029c8c3e4dc76256c
                  consumerKey: group_1
                status: success
        '201':
          description: Success — Created
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Success'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/ResourceAlias'
              example:
                code: 201
                data:
                  account: 507f1f77bcf86cd799439011
                  resourceType: profile
                  resourceId: 6592008029c8c3e4dc76256c
                  consumerKey: group_1
                status: success
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
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
    ResourceAlias:
      allOf:
        - $ref: '#/components/schemas/BaseModel'
        - type: object
          description: >-
            Represents a resource alias for a data document in the Profile
            system.
          required:
            - resourceType
            - resourceId
            - consumerKey
          properties:
            resourceType:
              type: string
              description: The data type of the specified resource.
            resourceId:
              type: string
              description: The Object ID of the specified data resource.
            consumerKey:
              type: string
              description: The custom identifier to serve as an alias key.
    BaseModel:
      type: object
      description: >
        Base schema that provides unique identification and timestamp metadata
        for resources in the Profile Behavior API.
      required:
        - id
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          description: Globally unique identifier for this resource.
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp indicating when the resource was created.
        updatedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp indicating when the resource was last updated.
    Error:
      type: object
      description: >
        Standard error response object returned by the Profile Behavior API.
        Contains a machine-readable error code, a human-readable message, and
        detailed technical information for debugging or support purposes.
      required:
        - code
        - error
        - status
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code associated with the error.
        error:
          type: object
          required:
            - details
            - 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
  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
  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.

````