Soldo Documents API
The Documents API from Soldo — 4 operation(s) for documents.
The Documents API from Soldo — 4 operation(s) for documents.
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