Soldo Documents API

The Documents API from Soldo — 4 operation(s) for documents.

OpenAPI Specification

soldo-documents-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Soldo Business API v2.0 Accounting Classification Documents API
  description: Soldo Business API v2.0 OpenAPI specification
  version: 5.56.0
servers:
- url: https://api.soldo.com
  description: Production server (using live data)
- url: https://api-demo.soldocloud.net
  description: Sandbox server (using test data)
tags:
- name: Documents
paths:
  /business/v2/documents/confirm:
    post:
      tags:
      - Documents
      summary: Confirm Document Upload
      description: After you got the temporary file URL of type `UPLOAD_URL` and the file is uploaded, the upload of file must be confirmed.
      operationId: document-upload-confirm
      requestBody:
        description: '`ConfirmDocumentUpload` parameters.'
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CompletedUploadDocument'
        required: true
      responses:
        '200':
          description: The returned resource is a single `Document`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
        '400':
          description: Your request has missing arguments or is malformed.
        '404':
          description: One or more resource requested does not exist.
      security:
      - standardAuth:
        - document_write
  /business/v2/documents/{documentId}:
    get:
      tags:
      - Documents
      summary: Get Document
      description: Endpoint to get a specific `Document` by ID.
      operationId: document-get
      parameters:
      - name: documentId
        in: path
        description: The `Document` ID.
        required: true
        schema:
          type: string
          description: The `Document` ID.
          example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
      responses:
        '200':
          description: The result is a single `Document`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
        '404':
          description: One or more resource requested does not exist.
      security:
      - standardAuth:
        - document_read
    delete:
      tags:
      - Documents
      summary: Delete Document
      description: Endpoint to delete a specific `Document` by ID.
      operationId: document-delete
      parameters:
      - name: documentId
        in: path
        description: The `Document` ID.
        required: true
        schema:
          type: string
          description: The `Document` ID.
          example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
      responses:
        '204':
          description: No content as result.
      security:
      - standardAuth:
        - document_write
  /business/v2/documents/upload:
    post:
      tags:
      - Documents
      summary: Upload Document
      description: Endpoint to upload a `Document`.The first step is to get a temporary URL where to upload the file.
      operationId: document-upload
      requestBody:
        description: '`DocumentUpload` parameters.'
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UploadDocument'
        required: true
      responses:
        '200':
          description: The returned resource is a single `UploadUrlDocument`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadUrlDocument'
        '400':
          description: Your request has missing arguments or is malformed.
        '404':
          description: One or more resource requested does not exist.
      security:
      - standardAuth:
        - document_write
  /business/v2/documents:
    get:
      tags:
      - Documents
      summary: Search Documents
      description: Endpoint to search `Documents` stored in the repository.
      operationId: document-search
      parameters:
      - name: p
        in: query
        description: '0'
        schema:
          type: integer
          format: int32
          default: 0
          description: It indicates the specific page to display (the counter starts from zero).
          example: 3
        example: 3
      - name: s
        in: query
        description: It indicates the number of items per page.
        schema:
          type: integer
          format: int32
          default: 0
          description: It indicates the number of items per page.
          example: 25
          maximum: 50
        example: 25
      - name: props
        in: query
        schema:
          type: array
          description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
          example: creationTime
          items:
            type: string
            description: It indicates the sorting direction applied to the above parameters. To apply a sorting on multiple parameters, set as many times the `props` parameter in the request.
            example: creationTime
      responses:
        '200':
          description: The result is an array containing `Documents`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Documents'
        '400':
          description: Your request has missing arguments or is malformed.
      security:
      - standardAuth:
        - document_read
components:
  schemas:
    UploadDocument:
      description: Parameters used to request a temporary document upload URL.
      properties:
        content_type:
          type: string
          description: The MIME type of the `Document`.
          example: application/pdf
        file_extension:
          type: string
          description: The file extension of the `Document`.
          example: pdf
      required:
      - content_type
      - file_extension
    Documents:
      properties:
        total:
          type: integer
          format: int32
          description: It represents the total number of available items in the list.
          example: 168
        pages:
          type: integer
          format: int32
          description: It represents the total number of available pages.
          example: 7
        page_size:
          type: integer
          format: int32
          description: It represents the number of items per page.
          example: 25
        current_page:
          type: integer
          format: int32
          description: It indicates the current page (the counter starts from zero).
          example: 0
        results_size:
          type: integer
          format: int32
          description: It indicates the size of the array results.
          example: 25
        results:
          type: array
          items:
            $ref: '#/components/schemas/DocumentItem'
    CompletedUploadDocument:
      description: Parameters used to request a document upload complite.
      properties:
        content_type:
          type: string
          description: The MIME type of the `Document`.
          example: application/pdf
        attachment_name:
          type: string
          description: Attachment name of the `Document`
          example: 1779089463912.pdf
        attachment_type:
          type: string
          description: The type of file of the `Document`.
          example: RECEIPT
        uploaded_by:
          type: string
          description: The User or system that uploaded the file of the `Document`
          example: USER
        thumbnails_size:
          type: string
          description: The requested thumbnail size hint for downstream rendering of file of the `Document` .
          example: x1
        readonly:
          type: boolean
          description: Readonly flag of the `Document`
          example: false
        analysis_required:
          type: boolean
          description: It indicates whether automated content analysis should be performed on the `Document` after upload.
          example: false
      required:
      - attachment_name
      - content_type
    DocumentItem:
      properties:
        id:
          type: string
          description: The `Document` ID.
          example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
        name:
          type: string
          description: The original file name of the `Document`.
          example: invoice-2025-001.pdf
        attachment_url:
          type: string
          description: Pre-signed URL where the `Document` content can be downloaded.
          example: https://storage.example.com/documents/7bf79328-a7ae-4222-aa54-091ff7f429a7/content?signature=...
        preview_url:
          type: string
          description: Pre-signed URL for the `Document` preview rendering.
          example: https://storage.example.com/documents/7bf79328-a7ae-4222-aa54-091ff7f429a7/preview?signature=...
        thumbnail_url:
          type: string
          description: The Pre-signed URL for the file of the `Document` thumbnail.
          example: https://storage.example.com/documents/7bf79328-a7ae-4222-aa54-091ff7f429a7/thumbnail?signature=...
        import_date:
          type: string
          format: date-time
          description: The date and time when the `Document` was imported.
          example: '2025-04-12T10:15:30Z'
        attached:
          type: boolean
          description: It indicates whether the `Document` is already attached to one or more activities.
          example: false
    Document:
      properties:
        id:
          type: string
          description: The `Document` ID.
          example: 7bf79328-a7ae-4222-aa54-091ff7f429a7
        name:
          type: string
          description: The original file name of the `Document`.
          example: invoice-2025-001.pdf
        preview_url:
          type: string
          description: Pre-signed URL for the `Document` preview rendering.
          example: https://storage.example.com/documents/7bf79328-a7ae-4222-aa54-091ff7f429a7/preview?signature=...
        thumbnail_url:
          type: string
          description: The Pre-signed URL for the file of the `Document` thumbnail.
          example: https://storage.example.com/documents/7bf79328-a7ae-4222-aa54-091ff7f429a7/thumbnail?signature=...
        creation_time:
          type: string
          description: The date and time when the `Document` was imported.
          example: '2025-04-12T10:15:30Z'
        attached:
          type: boolean
          description: It indicates whether the `Document` is already attached to one or more activities.
          example: false
    DocumentOperation:
      type: string
      enum:
      - UPLOAD_URL
      - UPLOAD_COMPLETED
    UploadUrlDocument:
      properties:
        uploaded_by:
          type: string
          description: The User or system that uploaded the file of the `Document`
          example: USER
        operation_type:
          $ref: '#/components/schemas/DocumentOperation'
          description: The operation type to perform on the `Document`.
          example: UPLOAD_URL
        content_type:
          type: string
          description: The MIME type of the `Document`.
          example: application/pdf
        attachment_name:
          type: string
          description: Attachment name of the `Document`
          example: 1779089463912.pdf
        pre_signed_url:
          type: string
          description: Pre-signed URL of the `Document`
          example: https://example.com/upload-url
  securitySchemes:
    standardAuth:
      type: oauth2
      description: This API uses OAuth 2 with the "Client Credentials" grant flow.
      flows:
        clientCredentials:
          tokenUrl: https://api.soldo.com/oauth/authorize
          refreshUrl: https://api.soldo.com/oauth/refresh
          scopes:
            address_read: Can read address details.
            address_write: Can update address details.
            card_read: Can read card details.
            card_write: Can change card details.
            company_read: Can read company details.
            company_write: Can change company details.
            contact_read: Can read contact details.
            contact_write: Can change contact details.
            employee_read: Can read employee details.
            employee_write: Can change employee details.
            expense_category_read: Can read expense category details.
            expense_category_write: Can change expense category details.
            expense_report_read: Can read expense report details.
            expense_report_write: Can change expense report details.
            expense_review_read: Can read expense review status.
            expense_review_write: Can change expense review status.
            group_read: Can read group details.
            group_write: Can change groups details.
            online_ads_read: Can read online ads details.
            online_ads_write: Can change online ads details.
            payment_read: Can read payment details.
            payment_write: Can change payment details.
            purchase_read: Can read purchase details.
            purchase_write: Can change purchase details.
            refueling_read: Can read refueling details.
            refueling_write: Can change refueling details.
            resource_set_read: Can read resource set details.
            resource_set_write: Can change resource set details.
            role_read: Can read role details.
            statement_read: Can read statement details.
            subscription_read: Can read subscription details.
            subscription_write: Can change subscription details.
            tag_read: Can read tags.
            tag_write: can change tags.
            tax_rate_read: Can read vat rate details.
            tax_rate_write: Can change vat rate details.
            transaction_read: Can read transaction details.
            transaction_write: Can change transaction details.
            vehicle_read: Can read vehicle details.
            vehicle_write: Can change vehicle details.
            wallet_read: Can read wallet details.
            wallet_write: Can change wallet details.
            webhook_subscription_read: Can read webhook subscription details.
            webhook_subscription_write: Can change webhook subscription details.
x-readme:
  hidden: false