Rainforest File Upload Configs API
Resources for file upload config functions.
Resources for file upload config functions.
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