Rainforest File Upload Configs API

Resources for file upload config functions.

OpenAPI Specification

rainforest-file-upload-configs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Authentication ACH Returns File Upload Configs API
  version: 1.0.0
  description: This resource is used for authentication actions
  contact:
    name: Rainforest
    email: support@rainforestpay.com
    url: https://rainforestpay.com
servers:
- url: https://api.sandbox.rainforestpay.com
  description: Sandbox server
- url: https://api.rainforestpay.com
  description: Production server
security:
- BearerAuth: []
tags:
- name: File Upload Configs
  description: Resources for file upload config functions.
paths:
  /v1/file_upload_configs:
    post:
      operationId: create_file_upload_config
      summary: Create file upload config
      description: Create the configuration for a file upload request. The configuration contains basic information about the file such as the merchant, idempotency key, and the type of file. Type is the requirement the file is intended to satisfy.
      parameters:
      - in: header
        name: Rainforest-Api-Version
        schema:
          type: string
          default: '2024-10-16'
          enum:
          - '2024-10-16'
          - '2023-12-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/paths/~1v1~1file_upload_configs/post/responses/200/content/application~1json/schema/properties/data'
              required:
              - idempotency_key
              - filename
              - type
            examples:
              chargeback_evidence:
                value:
                  chargeback_id: chb_2DrDFAPutxE5AIbJSApAnqniEQ57
                  idempotency_key: e7d57c41-7626-4644-b777-9451ab3ddea9
                  filename: chargeback_evidence.jpg
                  type: CHARGEBACK_EVIDENCE
              deposit_method_verification:
                value:
                  merchant_id: mid_2DrDFJPutxE5AIbJSopAnqniEbr
                  idempotency_key: e7d57c41-7626-4644-b777-9451ab3ddea9
                  filename: deposit_method.jpg
                  type: DEPOSIT_METHOD_VERIFICATION
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  status:
                    description: 'Status of the request.


                      If the request status code is 2XX, then the `status` will be `SUCCESS`. If the request status code is 4XX or 5XX, then the `status` will be `ERROR`.'
                    type: string
                    enum:
                    - SUCCESS
                    - ERROR
                    example: SUCCESS
                  data:
                    type: object
                    properties:
                      file_upload_config_id:
                        $ref: '#/paths/~1v1~1file_uploads~1%7Bfile_upload_id%7D/get/responses/200/content/application~1json/schema/properties/data/properties/file_upload_config_id'
                        readOnly: true
                      file_upload_id:
                        $ref: '#/paths/~1v1~1file_uploads~1%7Bfile_upload_id%7D/get/responses/200/content/application~1json/schema/properties/data/properties/file_upload_id'
                        nullable: true
                        readOnly: true
                      merchant_id:
                        description: 'The unique merchant identifier. Required if the type is `BUSINESS_NAME_TIN_VERIFICATION`, `BUSINESS_VERIFICATION`, `DEPOSIT_METHOD_VERIFICATION`, `FINANCIAL_REVIEW`, or `OWNER_NAME_SSN_VERIFICATION`.


                          Prefix is "mid" in production and "sbx_mid" in sandbox.'
                        type: string
                        example: mid_2DrDFJPutxE5AIbJSopAnqniEbr
                      chargeback_id:
                        description: 'The unique chargeback identifier. Required if the type is `CHARGEBACK_EVIDENCE`.


                          Prefix is "chb" in production and "sbx_chb" in sandbox.'
                        writeOnly: true
                        type: string
                        example: chb_2TndahOgm9XTiidLB7csk0IsR9b
                      idempotency_key:
                        description: A unique identifier provided by the platform. This key will be used to detect subsequent retries of the same request. Subsequent requests with the same key will return the result of the first request, regardless if the first request succeeded or failed. This identifier should be generated by the platform and can be max 255 characters.
                        type: string
                        example: e7d57c41-7626-4644-b777-9451ab3ddea9
                        maxLength: 255
                        minLength: 1
                      filename:
                        $ref: '#/paths/~1v1~1file_uploads~1%7Bfile_upload_id%7D/get/responses/200/content/application~1json/schema/properties/data/properties/filename'
                        writeOnly: true
                      type:
                        description: The file upload type.
                        type: string
                        enum:
                        - BUSINESS_NAME_TIN_VERIFICATION
                        - BUSINESS_VERIFICATION
                        - CHARGEBACK_EVIDENCE
                        - DEPOSIT_METHOD_VERIFICATION
                        - FINANCIAL_REVIEW
                        - OWNER_NAME_SSN_VERIFICATION
                      presign_post_data:
                        description: Pass-along data required for presigned endpoint. All key/value pairs must be preserved.
                        type: object
                        additionalProperties:
                          type: string
                        readOnly: true
                      created_at:
                        description: Date and time file upload config was created at in UTC RFC 3339 format.
                        readOnly: true
                        type: string
                        format: date-time
                        example: '2022-01-01T12:00:00Z'
                      updated_at:
                        description: Date and time file upload config was last updated at in UTC RFC 3339 format.
                        $ref: '#/paths/~1v1~1file_upload_configs/post/requestBody/content/application~1json/schema/properties/created_at'
                        readOnly: true
                        nullable: true
                  errors:
                    description: List of errors, if applicable.
                    type: array
                    items:
                      type: object
                      description: Details of the error.
                      properties:
                        field:
                          description: The field in the request that had an error, if applicable.
                          type: string
                        code:
                          description: The code describing the error.
                          type: string
                        message:
                          description: The description of the error related to the field.
                          type: string
                    example: null
        '400':
          description: Bad request, check for validation errors.
          content:
            application/json:
              schema:
                description: Default response object.
                type: object
                properties:
                  status:
                    $ref: '#/paths/~1v1~1file_upload_configs/post/responses/200/content/application~1json/schema/properties/status'
                  data:
                    description: Generic data object specified per resource, null if there are request errors.
                    type: object
                    example: null
                    nullable: true
                    readOnly: true
                  errors:
                    $ref: '#/paths/~1v1~1file_upload_configs/post/responses/200/content/application~1json/schema/properties/errors'
              example:
                status: ERROR
                data: null
                errors:
                - field: string
                  code: RequestBody
                  message: Invalid request payload
        '401':
          description: Authorization missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v1~1file_upload_configs/post/responses/400/content/application~1json/schema'
              example:
                status: ERROR
                data: null
                errors:
                - field: string
                  code: AuthUnauthorized
                  message: Unauthorized
        '403':
          description: Authorization insufficient for requested action.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v1~1file_upload_configs/post/responses/400/content/application~1json/schema'
              example:
                status: ERROR
                data: null
                errors:
                - field: string
                  code: AuthForbidden
                  message: Forbidden
        5XX:
          description: Unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v1~1file_upload_configs/post/responses/400/content/application~1json/schema'
              example:
                status: ERROR
                data: null
                errors:
                - field: string
                  code: string
                  message: Internal Server Error
      tags:
      - File Upload Configs
  /v1/file_upload_configs/{file_upload_config_id}:
    get:
      operationId: get_file_upload_config
      summary: Get file upload config
      description: Get the configuration for a file upload by the file upload config ID.
      parameters:
      - $ref: '#/paths/~1v1~1file_upload_configs/post/parameters/0'
      - in: path
        required: true
        name: file_upload_config_id
        schema:
          type: string
        description: "The unique file upload config identifier. \n\nPrefix is \"fic\" in production and \"sbx_fic\" in sandbox."
        examples:
          production:
            value: fic_2DrDKk5NIMbpuNGqm109SkpGDHh
          sandbox:
            value: sbx_fic_2DrDKk5NIMbpuNGqm109SkpGDHh
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  status:
                    $ref: '#/paths/~1v1~1file_upload_configs/post/responses/200/content/application~1json/schema/properties/status'
                  data:
                    $ref: '#/paths/~1v1~1file_upload_configs/post/responses/200/content/application~1json/schema/properties/data'
                  errors:
                    $ref: '#/paths/~1v1~1file_upload_configs/post/responses/200/content/application~1json/schema/properties/errors'
        '400':
          $ref: '#/paths/~1v1~1file_upload_configs/post/responses/400'
        '401':
          $ref: '#/paths/~1v1~1file_upload_configs/post/responses/401'
        '403':
          $ref: '#/paths/~1v1~1file_upload_configs/post/responses/403'
        '404':
          $ref: '#/paths/~1v1~1file_uploads~1%7Bfile_upload_id%7D/get/responses/404'
        5XX:
          $ref: '#/paths/~1v1~1file_upload_configs/post/responses/5XX'
      tags:
      - File Upload Configs
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: APIKey