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

# Submit auth checklist

> Submit authorization checklist items



## OpenAPI

````yaml /api-reference/openapi.json post /mandates/auth
openapi: 3.0.0
info:
  description: Documentation of the early finverse services
  title: Finverse Public
  termsOfService: https://example.com
  contact:
    name: Maintainers
    email: info@finverse.com
  license:
    name: unknown license
  version: 0.0.1
servers:
  - url: https://api.prod.finverse.net
security:
  - Oauth2:
      - test
tags:
  - name: public
    description: Publicly accessible endpoints
    x-group: Public
  - name: customer
    description: Customer app and institution endpoints
    x-group: Customer
  - name: link
    description: Finverse Link flows
    x-group: Link
  - name: login_identity
    description: Login identity lifecycle and metadata
    x-group: Login identity
  - name: accounts
    description: Accounts, balances, and account numbers
    x-group: Accounts
  - name: statements
    description: Statements and composite statements
    x-group: Statements
  - name: transactions
    description: Transaction history
    x-group: Transactions
  - name: identity_income
    description: Identity and income insights
    x-group: Identity & income
  - name: payment_links
    description: Payment link creation and checkout
    x-group: Payment links
  - name: mandates
    description: Direct debit mandates
    x-group: Mandates
  - name: payments
    description: Payment initiation and status
    x-group: Payment operations
  - name: payouts
    description: Payouts and scheduled payouts
    x-group: Payouts
  - name: payment_users
    description: Payment user profiles
    x-group: Payment users
  - name: payment_accounts
    description: Payment accounts for users
    x-group: Payment accounts
  - name: payment_methods
    description: Stored payment methods
    x-group: Payment methods
  - name: bills
    description: Bill presentment
    x-group: Bills
  - name: disputes
    description: Payment disputes
    x-group: Disputes
  - name: ledger
    description: Ledger and statements
    x-group: Ledger
paths:
  /mandates/auth:
    post:
      tags:
        - mandates
      summary: Submit auth checklist
      description: Submit authorization checklist items
      operationId: submitAuthChecklist
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitAuthChecklistRequest'
        description: request body for submitting auth checklist
        required: true
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitAuthChecklistResponse'
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrBodyModelV2'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrBodyModelV2'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrBodyModelV2'
      security:
        - Oauth2:
            - mandate_auth:update
components:
  schemas:
    SubmitAuthChecklistRequest:
      required:
        - key_id
        - envelope_encryption_key
        - initialization_vector
        - message_authentication_code
        - ciphertext
      properties:
        ciphertext:
          description: The encrypted payload that contains auth checklist items
          type: string
        envelope_encryption_key:
          description: The encrypted envelope key
          type: string
          maxLength: 1000
        initialization_vector:
          description: The initialization vector used for enncrypting the payload
          type: string
          maxLength: 100
        key_id:
          description: The key_id that was used to encrypt the envelope key
          type: string
          maxLength: 100
        message_authentication_code:
          description: >-
            The authentication code is used to authenticate the origin of the
            message
          type: string
          maxLength: 100
    SubmitAuthChecklistResponse:
      required:
        - mandate_id
        - auth_checklist
        - mandate_status
        - last_update
      properties:
        auth_checklist:
          description: >-
            Checklist of the authorization factors needed to complete Mandate
            authorization
          type: array
          items:
            $ref: '#/components/schemas/AuthChecklistFactor'
        last_update:
          description: Timestamp in ISO format (YYYY-MM-DDTHH:MM:SS.SSSZ)
          type: string
          format: date-time
        mandate_id:
          description: Finverse Mandate ID
          type: string
        mandate_status:
          description: Mandate status
          type: string
          enum:
            - CREATED
            - PROCESSING
            - SUBMITTED
            - ERROR
    ErrBodyModelV2:
      properties:
        error:
          $ref: '#/components/schemas/FvErrorModelV2'
    AuthChecklistFactor:
      required:
        - type
        - group_id
        - required
        - options
      properties:
        group_id:
          description: Allows grouping similar checklist item types together
          type: string
        helper_text:
          description: Helper text that applies to a specific checklist item
          type: string
        options:
          description: Array of the options accepted for a specific authorization factor
          type: array
          items:
            $ref: '#/components/schemas/AuthChecklistOptions'
        required:
          description: >-
            Indicates whether authorization factor is known to be required at
            this time.  Possible values are YES, NO, OPTIONAL
          type: string
          enum:
            - 'YES'
            - 'NO'
            - OPTIONAL
        type:
          description: Type of authorization factor
          type: string
          enum:
            - ACCOUNT_IDENTIFICATION
            - USER_IDENTIFICATION
            - ENDUSER_CONSENT
            - ACCOUNTHOLDER_AUTHENTICATION
    FvErrorModelV2:
      required:
        - type
        - error_code
        - message
        - details
        - request_id
      properties:
        details:
          type: string
        error_code:
          type: string
          example: CREDENTIALS_INVALID
        message:
          type: string
        request_id:
          description: The request_id provided in the request header
          type: string
        type:
          description: The error type
          type: string
          enum:
            - LINK_ERROR
            - API_ERROR
          example: LINKING_ERROR
    AuthChecklistOptions:
      required:
        - name
      properties:
        name:
          description: >-
            Name of authorization factor. Possible values are
            INSTITUTION_CREDENTIALS_LOGIN, INSTITUTION_OAUTH_LOGIN,
          type: string
          enum:
            - INSTITUTION_CREDENTIALS_LOGIN
            - INSTITUTION_OAUTH_LOGIN
        redirect_url:
          description: Redirect to bank for authentication
          type: string
        submitted_at:
          description: >-
            Timestamp in ISO format (YYYY-MM-DDTHH:MM:SS.SSSZ) for when the
            authorization factor was submitted to Finverse
          type: string
          format: date-time
          nullable: true
        submitted_by:
          description: >-
            Indicates who submitted the authorization factor to Finverse.
            Possible values are CUSTOMER_APP, FINVERSE_LINK
          type: string
          enum:
            - CUSTOMER_APP
            - FINVERSE_LINK
  securitySchemes:
    Oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://finverse-dev.us.auth0.com/oauth/token
          scopes:
            account: Account
            balance: Balance
            credit: Credit
            institution: Institution
            investment: Investment
            link: Link
            test: Test
            transaction: Transaction

````