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

# Create a document signing submission for the authenticated partner and user

> Creates a signing submission for the given document type (e.g. a W-8BEN tax certification) for the current entity. The signing link is emailed to the user. Re-posting acts as a resend/re-sign where the document state allows it. The submitted PII pre-fills the form and is forwarded to Passport, never persisted by Frontline.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/documents/{document_type}/submission
openapi: 3.0.0
info:
  title: Frontline API
  version: 0.1.0
servers:
  - url: https://api.coinlist.co
    variables: {}
security: []
tags:
  - name: DocumentSubmissions
  - name: KYC
  - name: OAuth
  - name: Offers
  - name: Participations
  - name: Pii
  - name: Requirements
  - name: Swap
  - name: Token
  - name: Wallet
  - name: Wallet Ownership
paths:
  /v1/documents/{document_type}/submission:
    post:
      tags:
        - DocumentSubmissions
      summary: >-
        Create a document signing submission for the authenticated partner and
        user
      description: >-
        Creates a signing submission for the given document type (e.g. a W-8BEN
        tax certification) for the current entity. The signing link is emailed
        to the user. Re-posting acts as a resend/re-sign where the document
        state allows it. The submitted PII pre-fills the form and is forwarded
        to Passport, never persisted by Frontline.
      operationId: createDocumentSubmission
      parameters:
        - description: >-
            The type of document to submit for signing. Valid values:
            tax_certification
          in: path
          name: document_type
          required: true
          schema:
            type: string
            x-struct: null
            x-validate: null
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties:
                type: string
                x-struct: null
                x-validate: null
              example:
                City: Warsaw
                Country: PL
                Country Of Citizenship: Poland
                DOB: 01/15/1985
                Date: 06/16/2026
                Foreign Tax Number: 123-45-6789
                Full Name: Aleksander Nowak
                Permanent Address: ul. Nowy Świat 12
                Signature: Aleksander Nowak
              type: object
              x-struct: null
              x-validate: null
          application/x-www-form-urlencoded:
            schema:
              additionalProperties:
                type: string
                x-struct: null
                x-validate: null
              example:
                City: Warsaw
                Country: PL
                Country Of Citizenship: Poland
                DOB: 01/15/1985
                Date: 06/16/2026
                Foreign Tax Number: 123-45-6789
                Full Name: Aleksander Nowak
                Permanent Address: ul. Nowy Świat 12
                Signature: Aleksander Nowak
              type: object
              x-struct: null
              x-validate: null
        description: >-
          Signing-form fields keyed by the document's DocuSeal field names.
          Forwarded verbatim to Passport to pre-fill the document, never
          persisted by Frontline.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentSubmission'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      callbacks: {}
      security:
        - OAuth2: []
components:
  schemas:
    DocumentSubmission:
      properties:
        form_type:
          description: The tax form derived from the entity kind
          enum:
            - w8_ben
            - w8_ben_e
          example: w8_ben
          type: string
          x-struct: null
          x-validate: null
        object:
          description: >-
            String representing the object's type. Objects of the same type
            share the same value.
          enum:
            - document_submission
          type: string
          x-struct: null
          x-validate: null
        status:
          description: The status of the document signing submission
          enum:
            - INITIALIZED
            - SENT
            - VIEWED
            - COMPLETED
            - DECLINED
            - EXPIRED
          example: SENT
          type: string
          x-struct: null
          x-validate: null
      required:
        - object
        - status
        - form_type
      title: DocumentSubmission
      type: object
      x-struct: Elixir.FrontlineAPIWeb.OpenApi.Schemas.DocumentSubmission
      x-validate: null
    Error:
      additionalProperties: false
      properties:
        code:
          description: A human-readable message providing more details about the error.
          type: string
          x-struct: null
          x-validate: null
        errors:
          additionalProperties:
            items:
              type: string
              x-struct: null
              x-validate: null
            type: array
            x-struct: null
            x-validate: null
          type: object
          x-struct: null
          x-validate: null
        event_id:
          description: >-
            The unique identifier for the error event. This is useful for
            tracking and debugging.
          type: string
          x-struct: null
          x-validate: null
        message:
          description: >-
            For some errors that could be handled programmatically, a short
            string indicating the error code reported.
          type: string
          x-struct: null
          x-validate: null
        type:
          description: >-
            The type of error returned. One of `api_error`,
            `invalid_request_error`
          enum:
            - api_error
            - invalid_request_error
          type: string
          x-struct: null
          x-validate: null
      required:
        - type
        - message
      title: Error
      type: object
      x-struct: Elixir.FrontlineAPIWeb.OpenApi.Schemas.ApiError
      x-validate: null
  securitySchemes:
    OAuth2:
      description: OAuth 2.0 authorization and token endpoints
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          refreshUrl: /oauth/token
          scopes: {}
          tokenUrl: /oauth/token
        clientCredentials:
          refreshUrl: /oauth/token
          scopes: {}
          tokenUrl: /oauth/token
      type: oauth2

````