Alloy Entities API

Entities are the center of the Alloy world. All evaluations, manual reviews, and documents are related to an entity whether or not you explicitly link them together in your API requests. This endpoint provides the ability to query on an entity and get top-level details about that entity as well as an overview of all items associated with the entity. The tokens from linked evaluations, reviews, or documents can be passed to their own API endpoints for more information about those specific items.

OpenAPI Specification

alloy-entities-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Alloy Identity Bank Accounts Entities API
  version: 1.0.0
  description: The Alloy Identity API provides endpoints for creating and managing person and business entities, running evaluations through configurable risk workflows, managing journey applications, submitting events for ongoing monitoring, handling document verification, and managing investigations and case alerts. Authentication is via Basic HTTP credentials or OAuth 2.0 Client Credentials.
  contact:
    name: Alloy Support
    url: https://help.alloy.com/hc/en-us
  license:
    name: Proprietary
servers:
- url: https://sandbox.alloy.co/v1
  description: Sandbox environment
- url: https://alloy.co/v1
  description: Production environment
security:
- basic: []
- oauth2: []
tags:
- name: Entities
  description: Entities are the center of the Alloy world. All evaluations, manual reviews, and documents are related to an entity whether or not you explicitly link them together in your API requests. This endpoint provides the ability to query on an entity and get top-level details about that entity as well as an overview of all items associated with the entity. The tokens from linked evaluations, reviews, or documents can be passed to their own API endpoints for more information about those specific items.
paths:
  /entities/businesses/{entity_token}:
    parameters:
    - in: path
      name: entity_token
      schema:
        type: string
      required: true
      description: Business token associated with entity.
    get:
      tags:
      - Entities
      summary: Get a business entity
      description: Retrieves information associated with specified business entity token
      responses:
        '200':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                $ref: '#/paths/~1entities~1businesses/post/responses/201/content/application~1json/schema'
        '400':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: string
                  error:
                    type: object
                  timestamp:
                    type: string
                  evaluation_token:
                    type: string
                  entity_token:
                    type: string
                  application_token:
                    type: string
                  application_version_id:
                    type: string
                example:
                  status_code: 400
                  error:
                    minor_code: 4013
                    type: Authorization Error
                    message: You are not authorized to operate on the specified object or it does not exist.
                    details:
                      entity_token_or_external_id: provided-token
                    error_token: u82hfowjwl
                  timestamp: 1652205025227
                  evaluation_token: null
                  entity_token: null
                  application_token: 2ohfhwqoq2nm
                  application_version_id: null
    patch:
      tags:
      - Entities
      summary: Update a business entity
      description: Using a business entity token, update entity with provided information
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/paths/~1entities~1businesses/post/requestBody/content/application~1json/schema'
              - $ref: '#/paths/~1entities~1persons~1%7Bentity_token%7D/patch/requestBody/content/application~1json/schema/allOf/1'
      responses:
        '200':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                $ref: '#/paths/~1entities~1businesses/post/responses/201/content/application~1json/schema'
  /entities/{entity_token}:
    parameters:
    - in: path
      name: entity_token
      schema:
        type: string
      required: true
      description: Token associated with entity.
    get:
      tags:
      - Entities
      summary: Get Information Related to an Entity
      responses:
        '200':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  entity_token:
                    type: string
                  archived:
                    type: boolean
                  created:
                    type: number
                  evaluations:
                    type: array
                    items:
                      $ref: '#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/evaluations/items'
                  documents:
                    type: array
                    items:
                      $ref: '#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/documents/items'
                  reviews:
                    type: array
                    items:
                      $ref: '#/paths/~1groups~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/reviews/items'
                  notes:
                    type: array
                    items:
                      properties:
                        text:
                          type: string
                          description: The contents of the note
                        created_at:
                          type: string
                          format: date-time
                          description: When the note was created
                        updated_at:
                          type: string
                          format: date-time
                          description: When the note was updated
                        email:
                          type: string
                          description: The email address of the author of the note
                        name:
                          type: string
                          description: The name of the author of the note
  /entities/persons/{entity_token}:
    parameters:
    - in: path
      name: entity_token
      schema:
        type: string
      required: true
      description: Person token associated with entity.
    get:
      tags:
      - Entities
      summary: Get a person entity
      description: "Retrieves information associated with specified person entity token \n\nThis endpoint supports the Alloy Entity token or your `external_entity_id`.\n"
      responses:
        '200':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                $ref: '#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema'
        '400':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: string
                  error:
                    type: object
                  timestamp:
                    type: string
                  evaluation_token:
                    type: string
                  entity_token:
                    type: string
                  application_token:
                    type: string
                  application_version_id:
                    type: string
                example:
                  status_code: 400
                  error:
                    minor_code: 4013
                    type: Authorization Error
                    message: You are not authorized to operate on the specified object or it does not exist.
                    details:
                      entity_token_or_external_id: provided-token
                    error_token: u82hfowjwl
                  timestamp: 1652205025227
                  evaluation_token: null
                  entity_token: null
                  application_token: 2ohfhwqoq2nm
                  application_version_id: null
    patch:
      tags:
      - Entities
      summary: Update a person entity
      description: Using a person entity token, update entity with provided information
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/paths/~1entities~1persons/post/requestBody/content/application~1json/schema'
              - properties:
                  external_entity_ids:
                    type: array
                    description: List of external entity ids to add to the entity. If the entity does not currently have an external entity id, the first item of the array becomes the primary external entity id. Otherwise, the current primary external entity id remains primary unless an item in the array is explicitly designated as primary by using the item's `designation` property. Only one item may be designated as `primary`, and duplicate `external_entity_id` values are not allowed.
                    items:
                      type: object
                      required:
                      - external_entity_id
                      properties:
                        external_entity_id:
                          type: string
                          maxLength: 65535
                        external_entity_id_type:
                          type: string
                          example: cif
                          description: Optional. A label for categorizing external entity ids. The universal type `cif` is available to all customers. Additional custom types may be configured per-customer.
                        designation:
                          type: string
                          enum:
                          - primary
                          description: Optional. Set this as `primary` in order to designate the external entity id as primary.
      responses:
        '200':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                $ref: '#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema'
  /entities/businesses:
    post:
      tags:
      - Entities
      summary: Create a business entity
      description: Creates a business entity
      requestBody:
        content:
          application/json:
            schema:
              properties:
                external_entity_id:
                  type: string
                business_name:
                  type: string
                business_alternate_name:
                  type: string
                business_registry_id:
                  type: string
                business_federal_ein:
                  type: string
                addresses:
                  type: array
                  items:
                    type: object
                emails:
                  type: array
                  items:
                    type: object
                    properties:
                      email_address:
                        type: string
                phones:
                  type: array
                  items:
                    type: object
                    properties:
                      phone_number:
                        type: string
                pii_status:
                  type: string
                  enum:
                  - successful
                  - failed
                  - pending
              example:
                external_entity_id: 087ac67e-17ab-4529-8d1a-a8b2214d305f
                business_name: Alloy
                business_alternate_name: DBA First Mile Group
                business_registry_id: '123456789'
                business_federal_ein: '987654321'
                addresses:
                - address_line_1: 41 E. 11th
                  address_city: New York
                  address_state: NY
                  address_postal_code: '10003'
                  address_country_code: US
                  type: business_primary
                emails:
                - email_address: safeandseamless@alloy.com
                phones:
                - phone_number: 555-000-1234
                pii_status: successful
      responses:
        '201':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: string
                  entity_token:
                    type: string
                  external_entity_id:
                    type: string
                  created_at:
                    type: number
                  business_name:
                    type: string
                  business_alternate_name:
                    type: string
                  business_registry_id:
                    type: string
                  business_federal_ein:
                    type: string
                  addresses:
                    type: array
                    items:
                      type: object
                  emails:
                    type: array
                    items:
                      type: object
                      properties:
                        email_address:
                          type: string
                  phones:
                    type: array
                    items:
                      type: object
                      properties:
                        phone_number:
                          type: string
                  entity_groups:
                    type: array
                    items:
                      $ref: '#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema/properties/entity_groups/items'
                  type:
                    type: string
                    example: business
                  _embedded:
                    type: object
                    properties:
                      notes:
                        type: array
                        items:
                          $ref: '#/paths/~1entities~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/notes/items'
                      external_entity_ids:
                        type: array
                        items:
                          $ref: '#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema/properties/_embedded/properties/external_entity_ids/items'
                  _links:
                    $ref: '#/paths/~1entities~1persons/post/responses/201/content/application~1json/schema/properties/_links'
                example:
                  entity_token: B-aCF4FAkGKiTIZJFhproR
                  external_entity_id: 087ac67e-17ab-4529-8d1a-a8b2214d305f
                  created_at: 1652195922608
                  business_name: Alloy
                  business_alternate_name: DBA First Mile Group
                  business_registry_id: '123456789'
                  business_federal_ein: '987654321'
                  addresses:
                  - address_line_1: 41 E. 11th
                    address_city: New York
                    address_state: NY
                    address_postal_code: '10003'
                    address_country_code: US
                    type: business_primary
                  emails:
                  - email_address: safeandseamless@alloy.com
                  phones:
                  - phone_number: '5550001234'
                  entity_groups:
                  - external_entity_group_ids:
                    - 81999dc0-20de-4953-b0b2-2b2f5809c87d
                    entity_group_token: EG-nqnHfUO9NtkazKzVWVqR
                    entity_group_name: Jane's Biscuit Company
                    entity_group_type: business
                    roles:
                    - primary
                    ownership_percentage: null
                    title: null
                    entity_group_relationship_status: successful
                    relationship_created_at: '2025-12-16T14:53:10.538Z'
                    entity_group_created_at: '2025-12-16T14:53:10.538Z'
                  _embedded: {}
                  _links:
                    self:
                      href: /v1/entities/businesses/B-aCF4FAkGKiTIZJFhproR
        '400':
          description: Missing required fields
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: string
                  error:
                    type: object
                  timestamp:
                    type: string
                  evaluation_token:
                    type: string
                  entity_token:
                    type: string
                  application_token:
                    type: string
                  application_version_id:
                    type: string
                example:
                  status_code: 400
                  error:
                    minor_code: 4002
                    type: Request Body Validation Failure
                    message: Your request body contained invalid field(s)
                    details:
                      message: '"business_name" is required'
                      path: business_name
                      type: any.required
                      context:
                        key: business_name
                    error_token: u82hfowjwl
                  timestamp: 1652205025227
                  evaluation_token: null
                  entity_token: null
                  application_token: 2ohfhwqoq2nm
                  application_version_id: null
  /entities/{entity_token}/notes:
    parameters:
    - in: path
      name: entity_token
      schema:
        type: string
      required: true
      description: Token associated with entity.
    post:
      tags:
      - Entities
      summary: Add a Note for an Entity
      description: Adds a note to an existing entity.
      requestBody:
        content:
          application/json:
            schema:
              required:
              - note
              - note_author_agent_email
              properties:
                note:
                  type: string
                note_author_agent_email:
                  type: string
      responses:
        '200':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  entity_token:
                    type: string
                  external_entity_id:
                    type: string
                  note:
                    type: string
                  note_author_agent_email:
                    type: string
                  created_at:
                    type: number
                  updated_at:
                    type: number
  /entities/merge:
    post:
      tags:
      - Entities
      summary: Merge two entities
      description: Merge the properties of the secondary entity into the primary entity. Required - one of (primary_entity_token / primary_external_entity_id) and one of (secondary_entity_token and secondary_external_entity_id).
      requestBody:
        content:
          application/json:
            schema:
              properties:
                primary_entity_token:
                  type: string
                  description: Required if `primary_external_entity_id` is not supplied
                primary_external_entity_id:
                  type: string
                  description: Required if `primary_entity_token` is not supplied
                secondary_entity_token:
                  type: string
                  description: Required if `secondary_external_entity_id` is not supplied
                secondary_external_entity_id:
                  type: string
                  description: Required if `secondary_entity_token` is not supplied
      responses:
        '201':
          x-summary: OK
          description: OK
  /entities/persons:
    post:
      tags:
      - Entities
      summary: Create a person entity
      description: Creates a person entity
      requestBody:
        content:
          application/json:
            schema:
              properties:
                external_entity_id:
                  type: string
                gender:
                  type: string
                birth_date:
                  type: string
                name_first:
                  type: string
                name_middle:
                  type: string
                name_last:
                  type: string
                document_ssn:
                  type: string
                document_id_card:
                  type: string
                document_license:
                  type: string
                document_passport:
                  type: string
                addresses:
                  type: array
                  items:
                    type: object
                emails:
                  type: array
                  items:
                    type: object
                    properties:
                      email_address:
                        type: string
                phones:
                  type: array
                  items:
                    type: object
                    properties:
                      phone_number:
                        type: string
                pii_status:
                  type: string
                  enum:
                  - successful
                  - failed
                  - pending
              example:
                external_entity_id: person-entity
                gender: male
                birth_date: '1998-02-03'
                name_first: John
                name_last: Doe
                document_ssn: '123456789'
                document_id_card: null
                document_license: null
                document_passport: null
                addresses:
                - address_line_1: 41 E. 11th
                  address_city: New York
                  address_state: NY
                  address_postal_code: '10003'
                  address_country_code: US
                  type: primary
                emails:
                - email_address: john@alloy.com
                phones:
                - phone_number: 555-000-1234
                pii_status: successful
      responses:
        '201':
          x-summary: OK
          description: Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: string
                  entity_token:
                    type: string
                  external_entity_id:
                    type: string
                  created_at:
                    type: number
                  person_details_updated_at:
                    type: number
                    description: When the entity was most recently updated
                  gender:
                    type: string
                  birth_date:
                    type: string
                  name_first:
                    type: string
                  name_middle:
                    type: string
                  name_last:
                    type: string
                  document_ssn:
                    type: string
                  document_id_card:
                    type: string
                  document_license:
                    type: string
                  document_passport:
                    type: string
                  addresses:
                    type: array
                    items:
                      type: object
                  emails:
                    type: array
                    items:
                      type: object
                      properties:
                        email_address:
                          type: string
                  phones:
                    type: array
                    items:
                      type: object
                      properties:
                        phone_number:
                          type: string
                        type:
                          type: string
                          example: home
                  entity_groups:
                    type: array
                    items:
                      type: object
                      properties:
                        external_entity_group_ids:
                          type: array
                          items:
                            type: string
                        entity_group_token:
                          type: string
                        entity_group_name:
                          type: string
                        entity_group_type:
                          type: string
                          enum:
                          - business
                          - joint_account
                          - membership
                          - merchant
                        roles:
                          type: array
                          items:
                            type: string
                            enum:
                            - primary
                            - shareholder
                            - secondary
                            - beneficiary
                            - beneficial_owner
                            - control_prong
                            - director
                            - authorized_signer
                            - principal_owner
                            - coborrower
                            - joint
                            - guarantor
                        ownership_percentage:
                          type: string
                        title:
                          type: string
                          example: CEO
                        entity_group_relationship_status:
                          type: string
                          example: successful
                        relationship_created_at:
                          type: string
                          example: '2025-12-08T14:01:00.000Z'
                        entity_group_created_at:
                          type: string
                          example: '2025-12-10T16:19:56.000Z'
                  type:
                    type: string
                    example: person
                  _embedded:
                    type: object
                    properties:
                      notes:
                        type: array
                        items:
                          $ref: '#/paths/~1entities~1%7Bentity_token%7D/get/responses/200/content/application~1json/schema/properties/notes/items'
                      document_ssns:
                        type: array
                        items:
                          type: object
                          properties:
                            document_ssn:
                              type: string
                              description: The plaintext value of the entity's SSN.
                            evaluation_token:
                              type: string
                              description: The evaluation in which the SSN was added to the entity
                            created_at:
                              type: number
                              description: When the SSN was added to the entity
                      external_entity_ids:
                        type: array
                        items:
                          type: object
                          properties:
                            external_entity_id:
                              type: string
                            external_entity_id_type:
                              type: string
                      birth_dates:
                        type: array
                        items:
                          type: object
                          properties:
                            birth_date:
                              type: string
                              description: The plaintext value of the entity's date of birth
                              format: date
                            evaluation_token:
                              type: string
                              description: The evaluation in which the date of birth was added to the entity
                            created_at:
                              type: number
                              description: When the date of birth was added to the entity
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            description: A link back to this entity
                example:
                  entity_token: P-urpS2U0hekJZW9UHMwAK
                  external_entity_id: 1234abcd
                  created_at: 1652195922608
                  gender: male
                  birth_date: '1999-12-31'
                  name_first: John
                  name_last: Doe
                  document_ssn: '123456789'
                  document_id_card: null
                  document_license: null
                  document_passport: null
                  addresses:
                  - address_line_1: 41 E. 11th
                    address_city: New York
                    address_state: NY
                    address_postal_code: '10003'
                    address_country_code: US
                    type: primary
                  emails:
                  - email_address: john@alloy.com
                  phones:
                  - phone_number: 555-000-1234
                  entity_groups:
                  - external_entity_group_ids:
                    - 81999dc0-20de-4953-b0b2-2b2f5809c87d
                    entity_group_token: EG-nqnHfUO9NtkazKzVWVqR
                    entity_group_name: Jane's Biscuit Company
                    entity_group_type: business
                    roles:
                    - director
                    - beneficial_owner
                    ownership_percentage: '20'
                    title: Director of Sales
                    entity_group_relationship_status: successful
                    relationship_created_at: '2025-12-18T14:01:00.000Z'
                    entity_group_created_at: '2025-12-16T14:53:10.538Z'
                  _embedded:
                    document_ssns:
                    - document_ssn: '123456789'
                      evaluation_token: L-x8Odl62GlJF93KDEml1d
                      created_at: 1652367121580
                    birth_dates:
                    - birth_date: '1999-12-31'
                      evaluation_token: L-CjsOLGbHtGhNEMd97XN1
                      created_at: 1698681900932
                    external_entity_ids:
                    - external_entity_id: 1234abcd
                      external_entity_id_type: null
                    notes:
                    - text: This is a note
                      created_at: 1698681900932
                      updated_at: 1698681900932
                      email: janedoe@alloy.com
                      name: Jane Doe
                  _links:
                    self:
                      href: /v1/entities/persons/P-urpS2U0hekJZW9UHMwAK
        '400':
          description: Missing required fields
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: string
                  error:
                    type: object
                  timestamp:
                    type: string
                  evaluation_token:
                    type: string
                  entity_token:
                    type: string
                  application_tok

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alloy/refs/heads/main/openapi/alloy-entities-api-openapi.yml