ProcessOut Uploads API

The Uploads API from ProcessOut — 3 operation(s) for uploads.

OpenAPI Specification

processout-uploads-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ProcessOut Balances Uploads API
  version: 1.0.3
  description: ProcessOut is a payments technical layer that standardizes merchant connections to 100+ payment providers (PSPs/APMs), with a PCI DSS card vault, tokenization for recurring payments, dynamic/no-code checkout, ML-based smart routing, analytics and transaction reconciliation. Authentication is HTTP Basic using a project ID (username) and secret API key (password). This OpenAPI 3.1 description was assembled by API Evangelist from the per-operation OpenAPI fragments ProcessOut publishes in each ReadMe API-reference page.
  contact:
    email: help@processout.com
    url: https://docs.processout.com
servers:
- url: https://api.processout.com
  description: Production
security:
- sec0: []
tags:
- name: Uploads
paths:
  /uploads/reports/{report_id}:
    delete:
      summary: Deleting uploaded report
      description: ''
      operationId: deleting-uploaded-report
      parameters:
      - name: report_id
        in: path
        description: ID of the uploaded report
        schema:
          type: string
        required: true
      - name: Idempotency-Key
        in: header
        description: Unique key to your request that will be used for idempotency
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"success\": true\n}"
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    default: true
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"success\": false,\n    \"message\": \"Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!\",\n    \"error_type\": \"request.authentication.invalid\"\n}"
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                    default: true
                  message:
                    type: string
                    example: Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!
                  error_type:
                    type: string
                    example: request.authentication.invalid
        4XX:
          description: 4XX
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error_type\": \"*Error code*\",\n  \"message\": \"*Error message*\",\n  \"success\": false\n}"
              schema:
                type: object
                properties:
                  error_type:
                    type: string
                    example: '*Error code*'
                  message:
                    type: string
                    example: '*Error message*'
                  success:
                    type: boolean
                    example: false
                    default: true
      deprecated: false
      tags:
      - Uploads
    get:
      summary: Fetching report
      description: ''
      operationId: fetching-report
      parameters:
      - name: report_id
        in: path
        description: ID of the report
        schema:
          type: string
        required: true
      - name: Idempotency-Key
        in: header
        description: Unique key to your request that will be used for idempotency
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"report\": {\n    \"id\": \"rep_123CLedNlW2WSdqEF0DlxWJtBOZfvMK0\",\n    \"project_id\": \"proj_BCdhW7DG55F5SyxFgR70XFz5CBEfWokh\",\n    \"gateway_configuration_id\": \"gway_conf_123exd5kivrg3iwpdt2rcbovgx9ixa7\",\n    \"gateway_resource_id\": null,\n    \"description\": \"file1.csv\",\n    \"error\": null,\n    \"is_processed\": true,\n    \"payload_size_bytes\": 65901,\n    \"processed_bytes\": 65901,\n    \"status\": \"processed\",\n    \"progress_percentage\": 100,\n    \"contains_data_from\": null,\n    \"contains_data_to\": null,\n    \"created_at\": \"2024-07-25T09:36:21.144754Z\"\n  },\n  \"success\": true\n}"
              schema:
                type: object
                properties:
                  report:
                    type: object
                    properties:
                      id:
                        type: string
                        example: rep_123CLedNlW2WSdqEF0DlxWJtBOZfvMK0
                      project_id:
                        type: string
                        example: proj_BCdhW7DG55F5SyxFgR70XFz5CBEfWokh
                      gateway_configuration_id:
                        type: string
                        example: gway_conf_123exd5kivrg3iwpdt2rcbovgx9ixa7
                      gateway_resource_id: {}
                      description:
                        type: string
                        example: file1.csv
                      error: {}
                      is_processed:
                        type: boolean
                        example: true
                        default: true
                      payload_size_bytes:
                        type: integer
                        example: 65901
                        default: 0
                      processed_bytes:
                        type: integer
                        example: 65901
                        default: 0
                      status:
                        type: string
                        example: processed
                      progress_percentage:
                        type: integer
                        example: 100
                        default: 0
                      contains_data_from: {}
                      contains_data_to: {}
                      created_at:
                        type: string
                        example: '2024-07-25T09:36:21.144754Z'
                  success:
                    type: boolean
                    example: true
                    default: true
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"success\": false,\n  \"message\": \"Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!\",\n  \"error_type\": \"request.authentication.invalid\"\n}"
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                    default: true
                  message:
                    type: string
                    example: Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!
                  error_type:
                    type: string
                    example: request.authentication.invalid
        '404':
          description: '404'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error_type\":\"resource.report.not-found\",\n  \"message\":\"The report could not be found.\",\n  \"success\":false\n}"
              schema:
                type: object
                properties:
                  error_type:
                    type: string
                    example: resource.report.not-found
                  message:
                    type: string
                    example: The report could not be found.
                  success:
                    type: boolean
                    example: false
                    default: true
        4XX:
          description: 4XX
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error_type\": \"*Error code*\",\n  \"message\": \"*Error message*\",\n  \"success\": false\n}"
              schema:
                type: object
                properties:
                  error_type:
                    type: string
                    example: '*Error code*'
                  message:
                    type: string
                    example: '*Error message*'
                  success:
                    type: boolean
                    example: false
                    default: true
      deprecated: false
      tags:
      - Uploads
  /uploads/reports/{report_id}/raw:
    get:
      summary: Downloading raw PSP report
      description: ''
      operationId: downloading-raw-psp-report
      parameters:
      - name: report_id
        in: path
        description: ID of the report
        schema:
          type: string
        required: true
      - name: Idempotency-Key
        in: header
        description: Unique key to your request that will be used for idempotency
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: '{ "download_url": "..." }'
              schema:
                type: object
                properties:
                  download_url:
                    type: string
                    example: '...'
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"success\": false,\n  \"message\": \"Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!\",\n  \"error_type\": \"request.authentication.invalid\"\n}"
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                    default: true
                  message:
                    type: string
                    example: Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!
                  error_type:
                    type: string
                    example: request.authentication.invalid
        '404':
          description: '404'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error_type\":\"resource.report.not-found\",\n  \"message\":\"The report could not be found.\",\n  \"success\":false\n}"
              schema:
                type: object
                properties:
                  error_type:
                    type: string
                    example: resource.report.not-found
                  message:
                    type: string
                    example: The report could not be found.
                  success:
                    type: boolean
                    example: false
                    default: true
        4XX:
          description: 4XX
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error_type\": \"*Error code*\",\n  \"message\": \"*Error message*\",\n  \"success\": false\n}"
              schema:
                type: object
                properties:
                  error_type:
                    type: string
                    example: '*Error code*'
                  message:
                    type: string
                    example: '*Error message*'
                  success:
                    type: boolean
                    example: false
                    default: true
      deprecated: false
      tags:
      - Uploads
  /uploads/reports:
    get:
      summary: Listing reports
      description: ''
      operationId: listing-reports
      parameters:
      - name: Idempotency-Key
        in: header
        description: Unique key to your request that will be used for idempotency
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"count\": 2,\n    \"has_more\": false,\n    \"limit\": 10,\n    \"order\": \"desc\",\n    \"reports\": [\n        {\n            \"id\": \"rep_123CLedNlW2WSdqEF0DlxWJtBOZfvMK0\",\n            \"project_id\": \"proj_BCdhW7DG55F5SyxFgR70XFz5CBEfWokh\",\n            \"gateway_configuration_id\": \"gway_conf_123exd5kivrg3iwpdt2rcbovgx9ixa7\",\n            \"gateway_resource_id\": null,\n            \"description\": \"file1.csv\",\n            \"error\": null,\n            \"is_processed\": true,\n            \"payload_size_bytes\": 65901,\n            \"processed_bytes\": 65901,\n            \"status\": \"processed\",\n            \"progress_percentage\": 100,\n            \"contains_data_from\": null,\n            \"contains_data_to\": null,\n            \"created_at\": \"2024-07-25T09:36:21.144754Z\"\n        },\n        {\n            \"id\": \"rep_456CLedNlW2WSdqEF0DlxWJtBOZfvMK0\",\n            \"project_id\": \"proj_BCdhW7DG55F5SyxFgR70XFz5CBEfWokh\",\n            \"gateway_configuration_id\": \"gway_conf_456exd5kivrg3iwpdt2rcbovgx9ixa7\",\n            \"gateway_resource_id\": null,\n            \"description\": \"file2.csv\",\n            \"error\": null,\n            \"is_processed\": true,\n            \"payload_size_bytes\": 1109,\n            \"processed_bytes\": 1109,\n            \"status\": \"processed\",\n            \"progress_percentage\": 100,\n            \"contains_data_from\": null,\n            \"contains_data_to\": null,\n            \"created_at\": \"2024-07-24T12:23:00.433922Z\"\n        }\n    ],\n    \"success\": true,\n    \"total_count\": 2\n}"
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 2
                    default: 0
                  has_more:
                    type: boolean
                    example: false
                    default: true
                  limit:
                    type: integer
                    example: 10
                    default: 0
                  order:
                    type: string
                    example: desc
                  reports:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: rep_123CLedNlW2WSdqEF0DlxWJtBOZfvMK0
                        project_id:
                          type: string
                          example: proj_BCdhW7DG55F5SyxFgR70XFz5CBEfWokh
                        gateway_configuration_id:
                          type: string
                          example: gway_conf_123exd5kivrg3iwpdt2rcbovgx9ixa7
                        gateway_resource_id: {}
                        description:
                          type: string
                          example: file1.csv
                        error: {}
                        is_processed:
                          type: boolean
                          example: true
                          default: true
                        payload_size_bytes:
                          type: integer
                          example: 65901
                          default: 0
                        processed_bytes:
                          type: integer
                          example: 65901
                          default: 0
                        status:
                          type: string
                          example: processed
                        progress_percentage:
                          type: integer
                          example: 100
                          default: 0
                        contains_data_from: {}
                        contains_data_to: {}
                        created_at:
                          type: string
                          example: '2024-07-25T09:36:21.144754Z'
                  success:
                    type: boolean
                    example: true
                    default: true
                  total_count:
                    type: integer
                    example: 2
                    default: 0
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"success\": false,\n  \"message\": \"Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!\",\n  \"error_type\": \"request.authentication.invalid\"\n}"
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                    default: true
                  message:
                    type: string
                    example: Could not read your project ID. Please make sure to use Basic HTTP authentication using your project ID as the username. If you have any questions, feel free to ask for help at help@processout.com!
                  error_type:
                    type: string
                    example: request.authentication.invalid
        4XX:
          description: 4XX
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error_type\": \"*Error code*\",\n  \"message\": \"*Error message*\",\n  \"success\": false\n}"
              schema:
                type: object
                properties:
                  error_type:
                    type: string
                    example: '*Error code*'
                  message:
                    type: string
                    example: '*Error message*'
                  success:
                    type: boolean
                    example: false
                    default: true
      deprecated: false
      tags:
      - Uploads
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic