Resistant AI Submission API

The Submission API from Resistant AI — 10 operation(s) for submission.

Operations 11

POST /v2/submission Create a submission #
PUT /v2/submission/{submission_id}/characteristics Add submission characteristics #
GET /v2/submission/{submission_id}/fraud Fetch fraud result #
GET /v2/submission/{submission_id}/content Fetch content result [limited] #
GET /v2/submission/{submission_id}/quality Fetch quality result #
GET /v2/submission/{submission_id}/decision Fetch Adaptive Decision result #
GET /v2/submission/{submission_id}/classification Fetch document classification #
GET /v2/submission/{submission_id}/report Fetch report [preview] #
DELETE /v2/submission/{submission_id} Delete submission #
PUT /v2/submission/{submission_id}/feedback Add analysis feedback #
GET /v2/submission/{submission_id}/feedback Get analysis feedback #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/resistant-ai-submission-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

resistant-ai-submission-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Resistant Documents Submission API
  version: 2.0.0b
  description: '

    Resistant Documents provides this API to programmatically interact with its document analysis engine.

    Interaction with the API can be divided into three phases:


    1. Creating document submission

    2. Uploading a file for for analysis to an address returned from step 1.

    3. Fetching analysis results


    In the first step, the submission is created by posting to the  `/v2/submission` endpoint. The response contains a `submission_id` uniquely identifying the document to be analyzed throughout the entire interaction, and is used to fetch analysis results later.


    Submission response also returns `upload_url` containing a pre-signed URL. This URL should be used to upload the actual document to be analyzed in the second step. Please note the document has to be uploaded using HTTP `PUT` method with `Content-Type` HTTP header set to `application/octet-stream`.


    In the last step, client should repeatedly poll using the `/v2/submission/{submission_id}/fraud` endpoint for analysis results. The best practice is to use polling with an [exponential back-off](https://en.wikipedia.org/wiki/Exponential_backoff) to reduce load on the API.


    # Authentication


    <SecurityDefinitions />'
servers:
- url: https://{environment}.resistant.ai
  variables:
    environment:
      default: api.documents
      enum:
      - api.documents
      - api.us-1.documents
      - api.ca-1.documents
      - api.ap-2.documents
      - api.ap-3.documents
      - api.documents.testing
tags:
- name: Submission
paths:
  /v2/submission:
    post:
      summary: Create a submission
      description: Create a new submission for a document to be analyzed
      operationId: createSubmission
      security:
      - OAuth2:
        - submissions.write
      responses:
        '200':
          description: Submission created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmissionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmissionRequest'
      tags:
      - Submission
  /v2/submission/{submission_id}/characteristics:
    put:
      summary: Add submission characteristics
      operationId: putSubmissionCharacteristics
      description: 'Attach submission characteristics to the submission. Submission characteristics are properties associated with the <i>original</i> submission of the document (i.e., from the end user).

        In descriptions of the properties, "user" refers to the person who initially submitted the document, "customer" refers to a customer of Resistant.ai using this API.


        Calling this endpoint is only allowed if `enable_submission_characteristics` is set to `true` when creating the submission. When submission characteristics are enabled for the submission, submitting then is <b>required</b> (the document will not be analyzed without them).'
      security:
      - OAuth2:
        - submissions.write
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Submission characteristics were submitted successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmissionCharacteristicsRequest'
      tags:
      - Submission
  /v2/submission/{submission_id}/fraud:
    get:
      summary: Fetch fraud result
      operationId: getFraud
      description: Fetch fraud analysis result
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: query
        name: with_metadata
        description: Enables indicator medatadata in the response object
        required: false
        schema:
          type: boolean
          default: false
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Asynchronous processing finished (either with a success or an error). Result of the processing is described by the specific response object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalysisResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}/content:
    get:
      summary: Fetch content result [limited]
      description: Fetch content extraction result
      operationId: getContent
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Asynchronous processing finished (either with a success or an error). Result of the processing is described by specific response object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}/quality:
    get:
      summary: Fetch quality result
      operationId: getQuality
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Asynchronous processing finished (either with a success or an error). Result of the processing is described by specific response object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualityResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}/decision:
    get:
      summary: Fetch Adaptive Decision result
      description: Fetch Adaptive Decision result
      operationId: getDecision
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      - in: query
        name: embed
        description: Comma-separated list of `decision_inputs` that should include the full data in its `data` attribute, e.g. `?embed=fraud`.
        example: fraud
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Results of Adaptive Decision if Adaptive Decision was enabled for the submission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdaptiveDecisionResponse'
        '400':
          description: Bad request. Submission must be created with `enable_decision` flag set to `true`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not found. Submission doesn't exist or verdict is not ready yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}/classification:
    get:
      summary: Fetch document classification
      operationId: getClassification
      description: Fetch classification of the type of the submitted document
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Results of document type classification if classification analysis was enabled for the submission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassificationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}/report:
    get:
      summary: Fetch report [preview]
      operationId: getReport
      description: Fetch fraud analysis report of the submitted document
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      - in: query
        name: include_decision
        description: Include Adaptive Decision result in report
        schema:
          type: boolean
      responses:
        '200':
          description: Download URL to get the fraud analysis report.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: The report cannot be downloaded because the fraud analysis or adaptive decision was not completed successfully or was skipped.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}:
    delete:
      summary: Delete submission
      description: Permanently deletes the submission. Can be used, e.g., to remove a document before the configured retention period.
      operationId: deleteSubmission
      security:
      - OAuth2:
        - submissions.write
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Submission deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Submission doesn't exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Submission cannot be deleted while it is being processed. Retry the request later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
  /v2/submission/{submission_id}/feedback:
    put:
      summary: Add analysis feedback
      description: "Add custom feedback for the document analysis result. \n\nAll custom feedback provided for a document must be reviewed by the customer before submission to ensure it does not contain any Personally Identifiable Information (PII). Submitted feedback will be securely stored indefinitely to support ongoing product improvements."
      operationId: putFeedback
      security:
      - OAuth2:
        - submissions.write
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackRequest'
      responses:
        '200':
          description: Custom feedback for fraud analysis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackResponse'
        '400':
          description: Bad request. Feedback must be sent with all required properties.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not found. Submission doesn't exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
    get:
      summary: Get analysis feedback
      description: Get custom feedback for the document analysis result previously stored with a PUT request to this endpoint.
      operationId: getFeedback
      security:
      - OAuth2:
        - submissions.read
      parameters:
      - in: path
        name: submission_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Custom feedback for fraud analysis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not found. Submission or feedback doesn't exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      tags:
      - Submission
components:
  schemas:
    IndicatorMetadata:
      title: Indicator metadata
      description: Additional metadata associated with the indicator. <b>Content of metadata evolves and can change without prior notice</b>. It is intended mainly for visualization in UI and tracking purposes.
      discriminator:
        propertyName: type
        mapping:
          DataOnly: '#/components/schemas/DataOnlyIndicatorMetadata'
          ElementsCollection: '#/components/schemas/ElementsCollectionIndicatorMetadata'
          CombiningIndicatorMetadata: '#/components/schemas/CombiningIndicatorMetadata'
      anyOf:
      - $ref: '#/components/schemas/DataOnlyIndicatorMetadata'
      - $ref: '#/components/schemas/ElementsCollectionIndicatorMetadata'
      - $ref: '#/components/schemas/CombiningIndicatorMetadata'
    AnalysisFeedback:
      title: Analysis Feedback
      description: Type of feedback on the result of document analysis.
      enum:
      - CORRECT
      - NOT_CORRECT
      type: string
    AnalysisResponse:
      title: Fraud  analysis response
      discriminator:
        propertyName: status
        mapping:
          SUCCESS: '#/components/schemas/AnalysisSuccessResponse'
          FAILED: '#/components/schemas/PipelineFailedResponse'
          INVALID_INPUT: '#/components/schemas/PipelineInvalidInputResponse'
          SKIPPED: '#/components/schemas/PipelineSkippedResponse'
      anyOf:
      - $ref: '#/components/schemas/AnalysisSuccessResponse'
      - $ref: '#/components/schemas/PipelineFailedResponse'
      - $ref: '#/components/schemas/PipelineInvalidInputResponse'
      - $ref: '#/components/schemas/PipelineSkippedResponse'
    FraudScore:
      title: FraudScore
      description: Fraud score produced by the document analysis.
      enum:
      - NORMAL
      - TRUSTED
      - WARNING
      - HIGH_RISK
      type: string
    UtilityBillType:
      title: UtilityBillType
      description: An enumeration.
      enum:
      - unknown
      - electricity
      - electricity_gas_water
      - mobile_phone
      - internet
      - internet_mobile_television
      - municipal_services
      type: string
    SpecialPayment:
      title: SpecialPayment
      type: object
      properties:
        description:
          title: Special payment description
          type: string
        amount:
          title: Payment amount
          type: number
        identification:
          title: Payment ID
          type:
          - string
          - 'null'
      required:
      - description
      - amount
    AdaptiveDecisionNonSuccessResponse:
      title: Adaptive Decision failed response
      type: object
      properties:
        status:
          title: Status
          description: '`INVALID_INPUT` status indicates the submitted document is not parsable.

            `INVALID_PIPELINE_CONFIG` status indicates that some key part of the pipeline is missing.

            `FAILED` status indicates document analysis or Adaptive Decision failed.

            `SKIPPED` status indicates that the Adaptive Decision has not run and was skipped.'
          enum:
          - FAILED
          - INVALID_INPUT
          - INVALID_PIPELINE_CONFIG
          - SKIPPED
          type: string
        message:
          title: Error message
          minLength: 0
          maxLength: 256
          type: string
        adaptive_decision_version:
          title: Version of Adaptive Decision configuration
          type: string
      required:
      - status
      - adaptive_decision_version
    SerialFraudIndicatorAttributes:
      title: Additional attributes for Serial fraud indicator
      properties:
        indicator_id:
          title: Indicator ID
          type: string
          enum:
          - in_transaction_cluster
          - in_transaction_cluster_benevolent
        serial_fraud_cluster_id:
          title: Serial fraud cluster ID
          type: string
        cluster_submission_ids_sample:
          title: Other submissions in the same serial fraud cluster
          type: array
          items:
            type: string
        cluster_query_ids_sample:
          title: Other query ids in the same serial fraud cluster
          type: array
          items:
            type: string
    QualityIndicator:
      title: Quality indicator
      type: object
      properties:
        indicator_id:
          title: Indicator ID
          description: Unique identifier for the indicator
          minLength: 0
          maxLength: 256
          type: string
        type:
          title: Indicator type
          description: Type of indicator.
          $ref: '#/components/schemas/IndicatorType'
        category:
          title: Indicator category
          description: Category of indicator (e.g. `modifications`, `text_hiding`, etc.)
          minLength: 0
          maxLength: 256
          type: string
        title:
          title: Indicator title
          minLength: 0
          maxLength: 256
          type: string
        description:
          title: Indicator description
          description: Detailed description of the indicator.
          minLength: 0
          maxLength: 2048
          type: string
        metadata:
          title: Indicator metadata
          $ref: '#/components/schemas/IndicatorMetadata'
          type:
          - object
          - 'null'
        origin:
          title: Origin
          enum:
          - quality
          type: string
      required:
      - indicator_id
      - type
      - category
      - title
      - description
      - origin
    BBoxGroupsMetadataElement:
      title: Metadata element with multiple bounding boxes
      type: object
      properties:
        type:
          title: Type
          enum:
          - BBoxGroups
          type: string
        page_id:
          title: Page id
          description: Number of the page corresponding to the modification. Note that first page has page_id = 0. In case of images, the page_id is always 0.
          type: integer
        bbox:
          title: Bounding boxes
          description: Group of bounding boxes corresponding to given modification, e.g. copy-move detection where single character is copied to multiple places
          type: array
          items:
            $ref: '#/components/schemas/BoundingBox'
      required:
      - type
      - page_id
      - bbox
    HasLogoIndicatorAttributes:
      title: Additional attributes for Has logo indicator
      properties:
        indicator_id:
          title: Indicator ID
          type: string
          enum:
          - has_logo
        logo_primary:
          title: Primary detected logo
          $ref: '#/components/schemas/LogoAttributes'
        detected_logos:
          title: List of detected logos
          type: array
          items:
            $ref: '#/components/schemas/LogoAttributes'
      required:
      - indicator_id
      - detected_logos
    DocumentClassificationScore:
      title: Document type
      description: Toplevel score for classification
      type:
      - string
      - 'null'
      enum:
      - CLASSIFIED
      - DOCUMENT_MISSING
      - NOT_CLASSIFIED
    TextMetadataElement:
      title: Metadata element with bounding box and additional text data
      type: object
      properties:
        type:
          title: Type
          enum:
          - BBoxWithText
          type: string
        page_id:
          title: Page id
          description: Number of the page corresponding to the modification. Note that first page has page_id = 0. In case of images, the page_id is always 0.
          type: integer
        bbox:
          title: Bounding box
          description: Bounding box corresponding to given modification
          $ref: '#/components/schemas/BoundingBox'
        text:
          title: Text
          type:
          - string
          - 'null'
      required:
      - type
      - page_id
      - bbox
      - text
    AnalysisSuccessResponse:
      title: Analysis success response
      type: object
      properties:
        status:
          title: Status
          enum:
          - SUCCESS
          type: string
        analysis_time:
          title: Analysis time
          description: Timestamp of analysis
          type: string
        file_type:
          title: File type
          description: General type of the input file
          $ref: '#/components/schemas/FileType'
        mime_type:
          title: Mime type
          description: Mime type of the input file, e.g. `application/pdf`, `image/jpeg`, etc.
          minLength: 0
          maxLength: 256
          type: string
        deployment_version:
          title: Deployment version
          description: Version of quality engine used for analysis
          minLength: 0
          maxLength: 256
          type: string
        query_id:
          title: Query ID
          description: Customer's own submission ID. This field may contain customer's own internal ID of analyzed file (e.g. ID in database).
          minLength: 0
          maxLength: 2048
          type:
          - string
          - 'null'
        sha256:
          title: File sha256
          description: Sha256 of the input file
          minLength: 64
          maxLength: 64
          type: string
        filtered_parsed_pages:
          title: Filtered pages
          description: List of pages that were selected from document for processing, empty list means all pages were selected
          type: array
          items:
            type: integer
          minItems: 0
        num_pages:
          title: Number of pages in document
          description: Number of pages in submitted document. Note that, for images, this is equal to 1
          type: integer
        score:
          title: Overall score
          description: Overall score of analyzed sample. A TRUSTED score is attributed to documents where the system has identified a reason to trust them. A NORMAL score describes the documents where the system has no particular reason to trust or distrust them. A WARNING score is given to documents that are identified as more likely to have been modified, such as scanned documents. A HIGH_RISK score identifies the documents where the system has identified modifications that are frequently associated with fraud or forgery attempts.
          $ref: '#/components/schemas/FraudScore'
        sample_metadata:
          title: Sample metadata
          description: Metadata extracted from the analyzed file. This field may contain various information such as creation date, software used to create the file, etc.
          $ref: '#/components/schemas/SampleMetadata'
        indicators:
          title: Indicators
          description: Indicators contains detailed information about the specific results of our analysis. This field contains detailed observations that the system was able to make about the file. Some indicators may be positive and may increase the Trust score, while the others would be negative and would increase the Risk.
          type: array
          items:
            $ref: '#/components/schemas/Indicator'
        document_class:
          title: Document class(Deprecated)
          $ref: '#/components/schemas/DocumentClassType'
      required:
      - status
      - analysis_time
      - file_type
      - mime_type
      - deployment_version
      - query_id
      - sha256
      - score
      - sample_metadata
      - indicators
      - filtered_parsed_pages
      - num_pages
    InvoiceContent:
      title: Invoice content
      type: object
      properties:
        content:
          title: Non-normalized invoice content
          type: object
          additionalProperties: {}
        content_type:
          title: Content Type
          enum:
          - invoice
          type: string
      required:
      - content
      - content_type
    CardGeneration:
      title: CardGeneration
      description: An enumeration.
      enum:
      - UNKNOWN
      - ISSUED_BEFORE_2012
      - ISSUED_AFTER_2012
      type: string
    SubmissionRequest:
      title: SubmissionRequest
      type: object
      properties:
        query_id:
          title: Query ID
          description: User-defined ID of analyzed file - typically refers to internal ID of the analyzed document in user's CMS. Please ensure the query_id of any document is reviewed prior to submitting to ensure no PII is shared. Query_id is used for subsequent indexing of outputs from the document forensics analysis.
          minLength: 0
          maxLength: 1024
          type:
          - string
          - 'null'
        pipeline_configuration:
          title: Pipeline configuration enum
          description: Type of analysis pipeline to execute.
          default: FRAUD_ONLY
          $ref: '#/components/schemas/PipelineConfiguration'
        enable_decision:
          title: Adaptive Decision enable flag
          description: '`true` to enable Adaptive Decision for the submitted document, `false` to disable it'
          default: false
          type: boolean
        enable_submission_characteristics:
          title: Submission characteristics enable flag.
          description: '`true` to enable attachment of submission characteristics for the submitted document, `false` to disable it (see `submission_characteristics_upload_url` field in the response object)'
          default: false
          type: boolean
    MaritalStatus:
      title: MaritalStatus
      description: An enumeration.
      enum:
      - UNKNOWN
      - SINGLE
      - MARRIED
      - DIVORCED
      - WIDOWED
      type: string
    AdaptiveDecisionSuccessResponse:
      title: Adaptive Decision success response
      type: object
      properties:
        status:
          title: Status
          description: '`SUCCESS` status indicates the Adaptive Decision result is available'
          type: string
          enum:
          - SUCCESS
        decision:
          title: Decision
          type: string
          description: 'Value range of this field is determined by tenant configuration, however default values are enum: `APPROVED`, `DECLINED`, `MANUAL_REVIEW`'
        decision_inputs:
          title: Decision inputs
          description: Inputs the decision is based on
          type: object
          properties:
            fraud:
              title: Fraud analysis result
              description: Link to fraud analysis result. Full `data` is only included if requested with the `embed` query string parameter
              type: object
              properties:
                url:
                  title: Fraud analysis result URL
                  description: URL where full fraud analysis can be retrieved
                  example: /v2/submission/submission123/fraud
                  type: string
                  format: uri
                data:
                  $ref: '#/components/schemas/AnalysisResponse'
              required:
              - url
        adaptive_decision_version:
          title: Version of Adaptive Decision configuration
          type: string
        reason:
          title: Customer-specific explanation of the decision
          type:
          - object
          - 'null'
          properties:
            sub_reason:
              type: object
              properties:
                value:
                  title: Reason identifier
                  description: Machine-readable identifier of the reason
                  type: string
                  maxLength: 1024
                label:
                  title: Reason description
                  description: Human-readable description of the reason
                  type: string
                  maxLength: 1024
      required:
      - status
      - decision
      - decision_inputs
      - adaptive_decision_version
    Error:
      title: Error
      type: object
      properties:
        message:
          title: Error message
          description: Detailed error message
          minLength: 0
          maxLength: 512
          type: string
      required:
      - message
    DocumentType:
      title: DocumentType
      description: An enumeration.
      enum:
      - mixed
      - unknown
      - account_confirmation
      - account_statement
      - bank_details
      - delivery_note
      - company_detail
      - earnings_confirmation
      - employer_id

# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/resistant-ai/refs/heads/main/openapi/resistant-ai-submission-api-openapi.yml