Alloy Documents API

Uploaded identity, address, and supporting documents for entities.

OpenAPI Specification

alloy-com-documents-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Alloy Bank Accounts Documents API
  description: 'The Alloy API is the programmatic surface for Alloy''s identity decisioning

    platform. It exposes the resources behind Alloy''s KYC, KYB, AML, fraud,

    credit, and ongoing-monitoring workflows used by banks, credit unions, and

    fintechs.


    The API is organized around evaluations, journey applications, entities

    (persons and businesses), bank accounts, documents, events, cases,

    investigations, custom lists, published attributes, and webhooks. Sandbox

    and production environments are exposed as two distinct base URLs.

    '
  version: '1.0'
  contact:
    name: Alloy Developer Support
    url: https://help.alloy.com
  license:
    name: Proprietary
    url: https://www.alloy.com/tos
servers:
- url: https://sandbox.alloy.co/v1
  description: Sandbox environment
- url: https://api.alloy.co/v1
  description: Production environment
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Documents
  description: Uploaded identity, address, and supporting documents for entities.
paths:
  /documents:
    post:
      tags:
      - Documents
      summary: Upload a Document
      operationId: postDocument
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
      responses:
        '201':
          description: Document uploaded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
  /documents/{document_token}:
    parameters:
    - name: document_token
      in: path
      required: true
      schema:
        type: string
    put:
      tags:
      - Documents
      summary: Replace a Document
      operationId: putDocument
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Document replaced
  /entities/{entity_token}/documents:
    parameters:
    - name: entity_token
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Documents
      summary: List Documents for an Entity
      operationId: getEntityDocuments
      responses:
        '200':
          description: Documents
    post:
      tags:
      - Documents
      summary: Upload a Document for an Entity
      operationId: postEntityDocument
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
      responses:
        '201':
          description: Document uploaded
  /entities/{entity_token}/documents/{document_token}:
    parameters:
    - name: entity_token
      in: path
      required: true
      schema:
        type: string
    - name: document_token
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Documents
      summary: Get an Entity Document
      operationId: getEntityDocument
      responses:
        '200':
          description: Document
    patch:
      tags:
      - Documents
      summary: Update an Entity Document
      operationId: patchEntityDocument
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Document updated
    put:
      tags:
      - Documents
      summary: Replace an Entity Document
      operationId: putEntityDocument
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Document replaced
  /entities/{entity_token}/documents/{document_token}/notes:
    parameters:
    - name: entity_token
      in: path
      required: true
      schema:
        type: string
    - name: document_token
      in: path
      required: true
      schema:
        type: string
    post:
      tags:
      - Documents
      summary: Add a Note to an Entity Document
      operationId: postEntityDocumentNote
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Note'
      responses:
        '201':
          description: Note created
components:
  schemas:
    Note:
      type: object
      properties:
        note_token:
          type: string
        body:
          type: string
        created_at:
          type: string
          format: date-time
    Document:
      type: object
      properties:
        document_token:
          type: string
        entity_token:
          type: string
        document_type:
          type: string
        status:
          type: string
        created_at:
          type: string
          format: date-time
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication with workflow or account-level API key as username and secret as password.
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token obtained via the OAuth endpoints.