openapi: 3.0.3
info:
title: 'Fakturo.app - test/master API'
description: ''
version: 1.0.0
servers:
-
url: 'https://master.fakturo.app'
tags:
-
name: Authentication
description: 'Authentication, registration, account access, and current user operations.'
-
name: 'Password Reset'
description: 'Reset password flow for email and password accounts.'
-
name: 'Access Tokens'
description: 'Manage personal access tokens for external applications and integrations.'
-
name: Autocomplete
description: 'Company search and registration data lookups from external providers.'
-
name: Clients
description: 'Create, update, list, and export customer records.'
-
name: Products
description: 'Manage catalog products and their images.'
-
name: Companies
description: 'Manage company profiles, branding assets, templates, and bank accounts.'
-
name: Dashboard
description: "\nRetrieve company dashboard statistics and reporting summaries."
-
name: 'Company Team'
description: "\nManage company members, roles, and team invitations."
-
name: 'Notification Settings'
description: "\nConfigure company email and operational notification preferences."
-
name: 'E-Invoice Settings'
description: "\nView and update company electronic invoicing settings."
-
name: Invoices
description: 'Issue invoices, export previews, and manage invoice lifecycle state.'
-
name: 'Proforma Invoices'
description: 'Manage proforma invoices, previews, and delivery state.'
-
name: 'Recurring Invoices'
description: "\nCreate and manage recurring invoice schedules and their active status."
-
name: Expenses
description: "\nTrack expenses and received invoices, payment status, and file attachments."
-
name: Receipts
description: 'Manage standalone receipts and receipts generated from invoices.'
-
name: 'Document Sharing'
description: "\nCreate and revoke secure document sharing links, and access shared documents publicly."
-
name: 'E-Invoice Transport'
description: "\nSend UBL invoices through the configured digital postman and track delivery."
-
name: 'Payment Matching'
description: "\nConfigure bank notification email processing and review imported transactions."
components:
securitySchemes:
default:
type: http
scheme: bearer
description: ''
http:
type: http
scheme: bearer
bearerFormat: Authorization
schemas:
AddSocialUserRequest:
type: object
properties:
provider:
type: string
enum:
- apple
- google
- facebook
token:
type: string
minLength: 10
extra:
type: string
required:
- provider
- token
title: AddSocialUserRequest
AddSubscriptionUserRequest:
type: object
properties:
revenueCatPurchaseData:
type: string
description: 'there should be `allExpirationDates`, additional control is on backend to avoid spoofing'
required:
- revenueCatPurchaseData
title: AddSubscriptionUserRequest
AuthUserResource:
type: object
properties:
token:
type: string
user:
type: object
properties:
id:
type: string
uuid:
type: string
email:
type: string
apple_token:
type: string
apple_extra:
type: string
google_token:
type: string
google_extra:
type: string
facebook_token:
type: string
facebook_extra:
type: string
invoice_count:
type: string
type:
type: string
required:
- id
- uuid
- email
- apple_token
- apple_extra
- google_token
- google_extra
- facebook_token
- facebook_extra
- invoice_count
- type
required:
- token
- user
title: AuthUserResource
ChangePaidStatusInvoiceRequest:
type: object
properties:
paid:
type: boolean
required:
- paid
title: ChangePaidStatusInvoiceRequest
ChangeSentStatusInvoiceRequest:
type: object
properties:
sent:
type: boolean
required:
- sent
title: ChangeSentStatusInvoiceRequest
ClientCollectionResource:
type: array
items:
type: string
title: ClientCollectionResource
ClientResource:
type: object
properties:
id:
type: string
uuid:
type: string
name:
type: string
state:
type: string
street:
type: string
street_extra:
type: string
zip:
type: string
city:
type: string
identification_number:
type: string
vat_identification_number:
type: string
vat_identification_number_sk:
type: string
registry_info:
type: string
contact_name:
type: string
contact_phone:
type: string
contact_email:
type: string
contact_web:
type: string
invoicesMetaData:
type: string
required:
- id
- uuid
- name
- state
- street
- street_extra
- zip
- city
- identification_number
- vat_identification_number
- vat_identification_number_sk
- registry_info
- contact_name
- contact_phone
- contact_email
- contact_web
- invoicesMetaData
title: ClientResource
CompanyCollectionResource:
type: array
items:
type: string
title: CompanyCollectionResource
CompanyResource:
type: object
properties:
id:
type: integer
uuid:
type: string
default:
type: integer
user_id:
type: integer
name:
type: string
state:
type: string
street:
type: string
street_extra:
type:
- string
- 'null'
zip:
type: string
city:
type: string
identification_number:
type: string
vat_identification_number:
type: string
vat_identification_number_sk:
type:
- string
- 'null'
registry_info:
type:
- string
- 'null'
contact_name:
type:
- string
- 'null'
contact_phone:
type:
- string
- 'null'
contact_email:
type:
- string
- 'null'
contact_web:
type:
- string
- 'null'
payment_methods:
type: string
template:
type: string
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
tax_type:
type: string
required:
- id
- uuid
- default
- user_id
- name
- state
- street
- street_extra
- zip
- city
- identification_number
- vat_identification_number
- vat_identification_number_sk
- registry_info
- contact_name
- contact_phone
- contact_email
- contact_web
- payment_methods
- template
- created_at
- updated_at
- tax_type
title: CompanyResource
CompanySetTemplateRequest:
type: object
properties:
template:
type: string
description: "INVOICE \nTODO add invoice prefix"
enum:
- ''
primary_color:
type: string
currency:
type: string
minLength: 3
maxLength: 3
language:
type: string
minLength: 2
maxLength: 2
numbering:
type: object
properties:
upcoming:
type: integer
format:
type: string
due_date_additional_days:
type: integer
required:
- upcoming
- format
- due_date_additional_days
formats:
type: object
properties:
date:
type: string
decimal:
type: string
thousands:
type: string
required:
- date
visibility:
type: object
properties:
send_date:
type: boolean
due_date:
type: boolean
description: 'TODO add require when apple approve old version ...'
quantity:
type: boolean
payment:
type: boolean
qr_payment:
type: boolean
required:
- due_date
- quantity
- payment
- qr_payment
qr:
type: object
properties:
provider:
type: string
enum:
- ''
preInvoice:
type: object
properties:
template:
type: string
description: "PREINVOICE \nTODO add missing required fields"
enum:
- ''
primary_color:
type: string
currency:
type: string
minLength: 3
maxLength: 3
language:
type: string
minLength: 2
maxLength: 2
numbering:
type: object
properties:
upcoming:
type:
- integer
- 'null'
format:
type: string
due_date_additional_days:
type: integer
formats:
type: object
properties:
date:
type: string
decimal:
type: string
thousands:
type: string
description: "'preInvoice.formats.thousands' => 'string',"
visibility:
type: object
properties:
send_date:
type: boolean
due_date:
type: boolean
description: 'TODO add require when apple approve old version ...'
quantity:
type: boolean
payment:
type: boolean
qr_payment:
type: boolean
qr:
type: object
properties:
provider:
type: string
enum:
- ''
required:
- template
- primary_color
- currency
- language
title: CompanySetTemplateRequest
CreateClientRequest:
type: object
properties:
name:
type: string
description: 'názov firmy / meno sukromnej osoby'
state:
type: string
description: 'stat [ISO 3166-1 alpha-2]'
maxLength: 2
street:
type: string
street_extra:
type: string
zip:
type: string
city:
type: string
identification_number:
type: string
description: ico
vat_identification_number:
type: string
description: dic
vat_identification_number_sk:
type: string
description: 'icdph (SK, HU only)'
registry_info:
type: string
description: 'Obchodný register'
contact_name:
type: string
contact_phone:
type: string
contact_email:
type: string
contact_web:
type: string
required:
- name
- state
- street
- zip
- city
title: CreateClientRequest
CreateClientStatementRequest:
type: object
properties:
fromDate:
type: string
format: date-time
toDate:
type: string
format: date-time
onlyUnpaidInvoices:
type: boolean
required:
- fromDate
- toDate
- onlyUnpaidInvoices
title: CreateClientStatementRequest
CreateCompanyRequest:
type: object
properties:
default:
type: boolean
name:
type: string
state:
type: string
maxLength: 2
street:
type: string
street_extra:
type: string
zip:
type: string
city:
type: string
tax_type:
type: string
identification_number:
type: string
description: ico
vat_identification_number:
type: string
description: dic
vat_identification_number_sk:
type: string
description: 'icdph (SK, HU only)'
registry_info:
type: string
contact_name:
type: string
contact_phone:
type: string
contact_email:
type: string
contact_web:
type: string
payment_methods:
type: string
template:
type: string
logo_base64:
type: string
signature_base64:
type: string
required:
- name
- state
- street
- zip
- city
- identification_number
- contact_name
- contact_phone
- contact_email
title: CreateCompanyRequest
CreateExternalTokenRequest:
type: object
properties:
name:
type: string
maxLength: 255
expires_at:
type:
- string
- 'null'
format: date-time
abilities:
type:
- array
- 'null'
items:
type: string
maxLength: 255
required:
- name
title: CreateExternalTokenRequest
CreateInvoiceRequest:
type: object
properties:
number:
type: string
billed_date:
type: string
format: date-time
due_date:
type: string
format: date-time
send_date:
type: string
format: date-time
variable_symbol:
type: string
constant_symbol:
type: string
specific_symbol:
type: string
order_id:
type: string
billed_client_id:
type: integer
items:
type: array
items:
type: string
payment:
type: string
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
bank_transfer:
type: string
note:
type: string
totalPrice:
type: number
currency_3_code:
type: string
minLength: 3
maxLength: 3
language_2_code:
type: string
minLength: 2
maxLength: 2
required:
- number
- billed_date
- due_date
- send_date
- billed_client_id
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
title: CreateInvoiceRequest
CreateProductRequest:
type: object
properties:
type:
type: string
name:
type: string
description:
type: string
price:
type: number
taxRate:
type: string
discount:
type: number
unit:
type: string
sku:
type: string
weight:
type: number
imageBase64:
type: string
required:
- type
- name
- price
title: CreateProductRequest
CreateReceiptRequest:
type: object
properties:
billed_to_client_id:
type: integer
invoice_id:
type:
- integer
- 'null'
language_2_code:
type:
- string
- 'null'
minLength: 2
maxLength: 2
total:
type: number
minimum: 0
currency_3_code:
type: string
minLength: 3
maxLength: 3
purpose:
type:
- string
- 'null'
made_by:
type:
- string
- 'null'
approved_by:
type:
- string
- 'null'
journal_number:
type:
- string
- 'null'
date:
type: string
format: date-time
billing_regulation:
type:
- array
- 'null'
items:
type: object
properties:
account:
type: string
total:
type: number
minimum: 0
required:
- billed_to_client_id
- total
- currency_3_code
- date
title: CreateReceiptRequest
EditClientRequest:
type: object
properties:
name:
type: string
state:
type: string
maxLength: 2
street:
type: string
street_extra:
type: string
zip:
type: string
city:
type: string
identification_number:
type: string
description: ico
vat_identification_number:
type: string
description: dic
vat_identification_number_sk:
type: string
description: icdph
registry_info:
type: string
contact_name:
type: string
contact_phone:
type: string
contact_email:
type: string
contact_web:
type: string
required:
- name
- state
- street
- zip
- city
title: EditClientRequest
EditInvoiceRequest:
type: object
properties:
number:
type: string
billed_date:
type: string
format: date-time
due_date:
type: string
format: date-time
send_date:
type: string
format: date-time
variable_symbol:
type: string
constant_symbol:
type: string
specific_symbol:
type: string
order_id:
type: string
billed_client_id:
type: integer
items:
type: array
items:
type: string
payment:
type: string
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
bank_transfer:
type: string
note:
type: string
totalPrice:
type: number
currency_3_code:
type: string
minLength: 3
maxLength: 3
language_2_code:
type: string
minLength: 2
maxLength: 2
required:
- number
- billed_date
- due_date
- send_date
- billed_client_id
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
title: EditInvoiceRequest
EditReceiptRequest:
type: object
properties:
billed_to_client_id:
type: integer
language_2_code:
type:
- string
- 'null'
minLength: 2
maxLength: 2
total:
type: number
minimum: 0
currency_3_code:
type: string
minLength: 3
maxLength: 3
purpose:
type:
- string
- 'null'
made_by:
type:
- string
- 'null'
approved_by:
type:
- string
- 'null'
journal_number:
type:
- string
- 'null'
date:
type: string
format: date-time
billing_regulation:
type:
- array
- 'null'
items:
type: object
properties:
account:
type: string
total:
type: number
minimum: 0
required:
- billed_to_client_id
- total
- currency_3_code
- date
title: EditReceiptRequest
ExternalTokenResource:
type: object
properties:
id:
type: string
name:
type: string
abilities:
type: string
last_used_at:
type: string
expires_at:
type: string
created_at:
type: string
required:
- id
- name
- abilities
- last_used_at
- expires_at
- created_at
title: ExternalTokenResource
InvoiceCollectionResource:
type: array
items:
type: string
title: InvoiceCollectionResource
InvoiceHistoryCollectionResource:
type: array
items: []
title: InvoiceHistoryCollectionResource
InvoiceResource:
type: object
properties:
id:
type: integer
uuid:
type: string
company_id:
type: integer
prefix:
type: string
number:
type: string
billed_date:
type: string
due_date:
type: string
send_date:
type: string
variable_symbol:
type:
- string
- 'null'
constant_symbol:
type:
- string
- 'null'
specific_symbol:
type:
- string
- 'null'
order_id:
type:
- string
- 'null'
billed_from_client:
type: string
billed_to_client:
type: string
items:
type: string
payment:
type: string
bank_transfer:
type:
- string
- 'null'
bank_number_format:
type: string
note:
type:
- string
- 'null'
totalPrice:
type: number
totalPrice_with_tax:
type:
- number
- 'null'
totalPrice_tax:
type: number
cash_payment_rounding:
type: number
tax_data:
type:
- string
- 'null'
currency_3_code:
type: string
language_2_code:
type: string
template:
type: string
template_primary_color:
type: string
template_date_format:
type: string
template_price_decimal_format:
type: string
template_price_thousands_format:
type: string
template_show_quantity:
type: integer
template_show_due_date:
type: integer
template_show_send_date:
type: integer
template_show_payment:
type: integer
template_show_qr_payment:
type: integer
qr_provider:
type: string
paid:
type: integer
sent:
type: integer
open:
type: integer
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
billed_to_client_id:
type:
- integer
- 'null'
required:
- id
- uuid
- company_id
- prefix
- number
- billed_date
- due_date
- send_date
- variable_symbol
- constant_symbol
- specific_symbol
- order_id
- billed_from_client
- billed_to_client
- items
- payment
- bank_transfer
- bank_number_format
- note
- totalPrice
- totalPrice_with_tax
- totalPrice_tax
- cash_payment_rounding
- tax_data
- currency_3_code
- language_2_code
- template
- template_primary_color
- template_date_format
- template_price_decimal_format
- template_price_thousands_format
- template_show_quantity
- template_show_due_date
- template_show_send_date
- template_show_payment
- template_show_qr_payment
- qr_provider
- paid
- sent
- open
- created_at
- updated_at
- billed_to_client_id
title: InvoiceResource
LoginUserRequest:
type: object
properties:
email:
type: string
format: email
password:
type: string
required:
- email
- password
title: LoginUserRequest
PreInvoiceCollectionResource:
type: array
items:
type: string
title: PreInvoiceCollectionResource
PreInvoiceHistoryCollectionResource:
type: array
items: []
title: PreInvoiceHistoryCollectionResource
PreInvoiceResource:
type: object
properties:
id:
type: integer
uuid:
type: string
company_id:
type: integer
prefix:
type: string
number:
type: string
billed_date:
type: string
due_date:
type: string
send_date:
type: string
variable_symbol:
type:
- string
- 'null'
constant_symbol:
type:
- string
- 'null'
specific_symbol:
type:
- string
- 'null'
order_id:
type:
- string
- 'null'
billed_from_client:
type: string
billed_to_client:
type: string
items:
type: string
payment:
type: string
bank_transfer:
type:
- string
- 'null'
bank_number_format:
type: string
note:
type:
- string
- 'null'
totalPrice:
type: number
cash_payment_rounding:
type: number
currency_3_code:
type: string
language_2_code:
type: string
template:
type: string
template_primary_color:
type: string
template_date_format:
type: string
template_price_decimal_format:
type: string
template_price_thousands_format:
type: string
template_show_quantity:
type: integer
template_show_due_date:
type: integer
template_show_send_date:
type: integer
template_show_payment:
type: integer
template_show_qr_payment:
type: integer
qr_provider:
type: string
paid:
type: integer
sent:
type: integer
open:
type: integer
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
required:
- id
- uuid
- company_id
- prefix
- number
- billed_date
- due_date
- send_date
- variable_symbol
- constant_symbol
- specific_symbol
- order_id
- billed_from_client
- billed_to_client
- items
- payment
- bank_transfer
- bank_number_format
- note
- totalPrice
- cash_payment_rounding
- currency_3_code
- language_2_code
- template
- template_primary_color
- template_date_format
- template_price_decimal_format
- template_price_thousands_format
- template_show_quantity
- template_show_due_date
- template_show_send_date
- template_show_payment
- template_show_qr_payment
- qr_provider
- paid
- sent
- open
- created_at
- updated_at
title: PreInvoiceResource
ProductCollectionResource:
type: array
items:
type: string
title: ProductCollectionResource
ProductResource:
type: object
properties:
id:
type: integer
uuid:
type: string
user_id:
type: integer
type:
type: string
name:
type: string
description:
type:
- string
- 'null'
price:
type: number
taxRate:
type:
- number
- 'null'
discount:
type: number
unit:
type:
- string
- 'null'
sku:
type:
- string
- 'null'
weight:
type:
- number
- 'null'
has_image:
type: integer
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
required:
- id
- uuid
- user_id
- type
- name
- description
- price
- taxRate
- discount
- unit
- sku
- weight
- has_image
- created_at
- updated_at
title: ProductResource
ReceiptCollectionResource:
type: object
properties:
data:
type: array
items:
type: string
required:
- data
title: ReceiptCollectionResource
ReceiptResource:
type: object
properties:
uuid:
type: string
company:
$ref: '#/components/schemas/CompanyResource'
billed_to_client:
$ref: '#/components/schemas/ClientResource'
language_2_code:
type:
- string
- 'null'
total:
type: string
currency_3_code:
type: string
currency_symbol:
type: string
purpose:
type:
- string
- 'null'
made_by:
type:
- string
- 'null'
approved_by:
type:
- string
- 'null'
journal_number:
type:
- string
- 'null'
billing_regulation:
type:
- string
- 'null'
date:
type: string
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
required:
- uuid
- company
- billed_to_client
- language_2_code
- total
- currency_3_code
- currency_symbol
- purpose
- made_by
- approved_by
- journal_number
- billing_regulation
- date
- created_at
- updated_at
title: ReceiptResource
RegisterUserRequest:
type: object
properties:
email:
type: string
maxLength: 255
password:
type: string
password_confirmation:
type: string
required:
- email
- password
- password_confirmation
title: RegisterUserRequest
RemoveSocialUserRequest:
type: object
properties:
provider:
type: string
enum:
- apple
- google
- facebook
required:
- provider
title: RemoveSocialUserRequest
SetCredentialsRequest:
type: object
properties:
email:
type: string
format: email
maxLength: 255
password:
type: string
password_confirmation:
type: string
required:
- email
- password
- password_confirmation
title: SetCredentialsRequest
SocialLoginUserRequest:
type: object
properties:
provider:
type: string
enum:
- apple
- google
- facebook
token:
type: string
minLength: 10
extra:
type: string
required:
- provider
- token
title: SocialLoginUserRequest
UpdateCompanyBankAccountRequest:
type: object
properties:
bank_transfer:
type: object
properties:
name:
type: string
code:
type: string
iban:
type: string
swift:
type: string
required:
- name
- code
- iban
- swift
title: UpdateCompanyBankAccountRequest
UpdateCompanyBasicInfoRequest:
type: object
properties:
default:
type: boolean
name:
type: string
state:
type: string
maxLength: 2
street:
type: string
street_extra:
type: string
zip:
type: string
city:
type: string
tax_type:
type: string
identification_number:
type: string
description: ico
vat_identification_number:
type: string
description: dic
vat_identification_number_sk:
type: string
description: 'icdph (SK, HU only)'
registry_info:
type: string
contact_name:
type: string
contact_phone:
type: string
contact_email:
type: string
contact_web:
type: string
required:
- name
- state
- street
- zip
- city
- identification_number
- contact_name
- contact_phone
- contact_email
title: UpdateCompanyBasicInfoRequest
UpdateCompanyLogoRequest:
type: object
properties:
logo_base64:
type: string
required:
- logo_base64
title: UpdateCompanyLogoRequest
UpdateCompanySignatureRequest:
type: object
properties:
signature_base64:
type: string
required:
- signature_base64
title: UpdateCompanySignatureRequest
UpdateProductRequest:
type: object
properties:
type:
type: string
name:
type: string
description:
type: string
price:
type: number
taxRate:
type: string
discount:
type: number
unit:
type: string
sku:
type: string
weight:
type: number
imageBase64:
type: string
imageTask:
type: string
enum:
- delete
- upload
- none
required:
- type
- name
- price
- imageTask
title: UpdateProductRequest
responses:
ValidationException:
description: 'Validation error'
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: 'Errors overview.'
errors:
type: object
description: 'A detailed description of each field that failed validation.'
additionalProperties:
type: array
items:
type: string
required:
- message
- errors
AuthenticationException:
description: Unauthenticated
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: 'Error overview.'
required:
- message
AuthorizationException:
description: 'Authorization error'
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: 'Error overview.'
required:
- message
security:
-
default: []
paths:
/api/register:
post:
summary: ''
operationId: postApiRegister
description: ''
parameters: []
responses:
200:
description: '`AuthUserResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/AuthUserResource'
required:
- data
422:
$ref: '#/components/responses/ValidationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must not be greater than 255 characters.'
example: gbailey@example.net
password:
type: string
description: ''
example: architecto
language:
type: string
description: ''
example: hu
enum:
- sk
- cz
- en
- de
- hu
- pl
- ro
- ua
required:
- email
- password
security: []
/api/login:
post:
summary: ''
operationId: postApiLogin
description: ''
parameters: []
responses:
200:
description: '`AuthUserResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/AuthUserResource'
required:
- data
422:
$ref: '#/components/responses/ValidationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address.'
example: gbailey@example.net
password:
type: string
description: ''
example: '|]|{+-'
language:
type: string
description: ''
example: pl
enum:
- sk
- cz
- en
- de
- hu
- pl
- ro
- ua
required:
- email
- password
security: []
/api/login/social:
post:
summary: ''
operationId: postApiLoginSocial
description: ''
parameters: []
responses:
200:
description: '`AuthUserResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/AuthUserResource'
required:
- data
422:
$ref: '#/components/responses/ValidationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
provider:
type: string
description: ''
example: google
enum:
- apple
- google
- facebook
token:
type: string
description: 'Must be at least 10 characters.'
example: bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzs
extra:
type: string
description: ''
example: null
language:
type: string
description: ''
example: sk
enum:
- sk
- cz
- en
- de
- hu
- pl
- ro
- ua
required:
- provider
- token
security: []
/api/login/guest:
post:
summary: ''
operationId: postApiLoginGuest
description: ''
parameters: []
responses:
200:
description: '`AuthUserResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/AuthUserResource'
required:
- data
tags:
- Authentication
security: []
/api/logout:
post:
summary: ''
operationId: postApiLogout
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: string
enum:
- logout
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Authentication
/api/user/subscription:
get:
summary: ''
operationId: getApiUserSubscription
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- SUBSCRIPTION_ACTIVE
- SUBSCRIPTION_INACTIVE
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Authentication
post:
summary: ''
operationId: postApiUserSubscription
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
anyOf:
-
type: object
properties:
message:
type: string
enum:
- SUBSCRIPTION_CREATED
required:
- message
-
type: object
properties:
message:
type: string
enum:
- SUBSCRIPTION_UPDATED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
revenueCatPurchaseData:
type: string
description: ''
example: architecto
required:
- revenueCatPurchaseData
/api/user/set-credentials:
post:
summary: ''
operationId: postApiUserSetCredentials
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- CREDENTIALS_SET
required:
- message
422:
$ref: '#/components/responses/ValidationException'
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address. Must not be greater than 255 characters.'
example: gbailey@example.net
password:
type: string
description: ''
example: architecto
required:
- email
- password
/api/user/password:
post:
summary: ''
operationId: postApiUserPassword
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: PASSWORD_UPDATED
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
current_password:
type: string
description: ''
example: architecto
password:
type: string
description: ''
example: architecto
required:
- current_password
- password
/api/user/add-social:
post:
summary: ''
operationId: postApiUserAddSocial
description: ''
parameters: []
responses:
200:
description: '`AuthUserResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/AuthUserResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
provider:
type: string
description: ''
example: google
enum:
- apple
- google
- facebook
token:
type: string
description: 'Must be at least 10 characters.'
example: bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzs
extra:
type: string
description: ''
example: null
required:
- provider
- token
/api/user/remove-social:
post:
summary: ''
operationId: postApiUserRemoveSocial
description: ''
parameters: []
responses:
200:
description: "not used wrong response with \"Content-Type\" => \"application/json\"\n\n\n\nnot used wrong response with \"Content-Type\" => \"application/json\""
content:
application/json:
schema:
anyOf:
-
type: object
properties:
status:
type: string
enum:
- 'Request was successfull.'
message:
type: string
enum:
- 'Social account removed'
data:
type: object
properties:
user:
type: string
required:
- user
required:
- status
- message
- data
-
type: object
properties:
data:
type:
- object
- 'null'
properties:
user:
type: string
required:
- user
message:
type:
- string
- 'null'
enum:
- 'Social account removed'
status:
type: integer
enum:
- 200
required:
- data
- message
- status
-
type: string
-
type: object
properties:
data:
type: string
enum:
- ''
message:
type: string
enum:
- 'You cannot remove social account if you do not have email and password set'
status:
type: integer
enum:
- 400
required:
- data
- message
- status
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
provider:
type: string
description: ''
example: apple
enum:
- apple
- google
- facebook
required:
- provider
/api/user/delete:
delete:
summary: ''
operationId: deleteApiUserDelete
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- USER_DELETED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Authentication
/api/forgot-password:
post:
summary: ''
operationId: postApiForgotPassword
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- 'Reset code sent successfully'
reset_id:
type: string
required:
- message
- reset_id
422:
$ref: '#/components/responses/ValidationException'
tags:
- 'Password Reset'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address. The email of an existing record in the users table.'
example: gbailey@example.net
language:
type: string
description: ''
example: pl
enum:
- sk
- cz
- en
- de
- hu
- pl
- ro
- ua
required:
- email
- language
/api/forgot-password/reset:
post:
summary: ''
operationId: postApiForgotPasswordReset
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- 'Password has been reset successfully'
required:
- message
400:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- 'Invalid reset code or expired'
required:
- message
422:
$ref: '#/components/responses/ValidationException'
tags:
- 'Password Reset'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address. The email of an existing record in the users table.'
example: gbailey@example.net
reset_id:
type: string
description: ''
example: architecto
code:
type: string
description: 'Must be 6 characters.'
example: ngzmiy
password:
type: string
description: 'Must be at least 8 characters.'
example: pBNvYg
required:
- email
- reset_id
- code
- password
/api/user/tokens:
get:
summary: ''
operationId: getApiUserTokens
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ExternalTokenResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Access Tokens'
/api/user/token:
post:
summary: ''
operationId: postApiUserToken
description: ''
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
properties:
data:
type: string
required:
- data
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- 'Access Tokens'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Must not be greater than 255 characters.'
example: b
abilities:
type: array
description: 'Must not be greater than 255 characters.'
example:
- 'n'
items:
type: string
expires_at:
type: string
description: 'Must be a valid date. Must be a date after now.'
example: '2052-10-07'
nullable: true
required:
- name
'/api/user/token/{tokenId}':
delete:
summary: ''
operationId: deleteApiUserTokenTokenId
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- TOKEN_DELETED
required:
- message
404:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- TOKEN_NOT_FOUND
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Access Tokens'
parameters:
-
in: path
name: tokenId
description: ''
example: architecto
required: true
schema:
type: string
/api/autocomplete/search:
get:
summary: ''
operationId: getApiAutocompleteSearch
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
results:
type: array
example:
-
country: SK
name: 'Example s. r. o.'
registrationNumber: '12345678'
taxNumber: '2020123456'
vatNumber: SK2020123456
vatPayer: true
address: 'Hlavná 1'
city: Bratislava
zip: '81101'
registration: 'Obchodný register, Sro 12345/B'
items:
type: object
properties:
country:
type: string
example: SK
name:
type: string
example: 'Example s. r. o.'
registrationNumber:
type: string
example: '12345678'
taxNumber:
type: string
example: '2020123456'
vatNumber:
type: string
example: SK2020123456
vatPayer:
type: boolean
example: true
address:
type: string
example: 'Hlavná 1'
city:
type: string
example: Bratislava
zip:
type: string
example: '81101'
registration:
type: string
example: 'Obchodný register, Sro 12345/B'
tags:
- Autocomplete
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: vatNumber
enum:
- name
- registrationNumber
- taxNumber
- vatNumber
value:
type: string
description: 'Must not be greater than 100 characters.'
example: b
required:
- type
- value
/api/autocomplete/company:
get:
summary: ''
operationId: getApiAutocompleteCompany
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
cached:
type: boolean
country:
type: string
name:
type: string
registrationNumber:
type: string
taxNumber:
type: string
vatNumber:
type: string
vatPayer:
type:
- boolean
- 'null'
address:
type: string
city:
type: string
zip:
type: string
registration:
type: string
required:
- cached
- country
- name
- registrationNumber
- taxNumber
- vatNumber
- vatPayer
- address
- city
- zip
- registration
required:
- data
404:
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
enum:
- 'No data found'
required:
- error
500:
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
required:
- error
400:
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
enum:
- 'Invalid input'
required:
- error
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Autocomplete
/api/autocomplete/companyList:
get:
summary: ''
operationId: getApiAutocompleteCompanyList
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
data:
type: array
prefixItems:
-
type: object
properties:
cached:
type: boolean
country:
type: string
name:
type: string
registrationNumber:
type: string
taxNumber:
type: string
vatNumber:
type: string
vatPayer:
type:
- boolean
- 'null'
address:
type: string
city:
type: string
zip:
type: string
registration:
type: string
required:
- cached
- country
- name
- registrationNumber
- taxNumber
- vatNumber
- vatPayer
- address
- city
- zip
- registration
minItems: 1
maxItems: 1
additionalItems: false
required:
- data
404:
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
enum:
- 'No data found'
required:
- error
500:
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
required:
- error
400:
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
enum:
- 'Invalid input'
required:
- error
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Autocomplete
/api/user/clients:
get:
summary: ''
operationId: getApiUserClients
description: ''
parameters: []
responses:
200:
description: '`ClientCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ClientCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Clients
/api/user/client:
post:
summary: ''
operationId: postApiUserClient
description: ''
parameters: []
responses:
200:
description: '`ClientResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ClientResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
state:
type: string
description: 'Must not be greater than 2 characters.'
example: ng
street:
type: string
description: ''
example: architecto
street_extra:
type: string
description: ''
example: null
zip:
type: string
description: ''
example: architecto
city:
type: string
description: ''
example: architecto
identification_number:
type: string
description: ''
example: null
vat_identification_number:
type: string
description: ''
example: null
vat_identification_number_sk:
type: string
description: ''
example: null
registry_info:
type: string
description: ''
example: null
contact_name:
type: string
description: ''
example: null
contact_phone:
type: string
description: ''
example: null
contact_email:
type: string
description: ''
example: null
contact_web:
type: string
description: ''
example: null
required:
- name
- state
- street
- zip
- city
'/api/user/client/{clientUuid}':
get:
summary: ''
operationId: getApiUserClientClientUuid
description: ''
parameters: []
responses:
200:
description: '`ClientResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ClientResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Clients
post:
summary: ''
operationId: postApiUserClientClientUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- CLIENT_UPDATED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: architecto
state:
type: string
description: 'Must not be greater than 2 characters.'
example: ng
street:
type: string
description: ''
example: architecto
street_extra:
type: string
description: ''
example: null
zip:
type: string
description: ''
example: architecto
city:
type: string
description: ''
example: architecto
identification_number:
type: string
description: ''
example: null
vat_identification_number:
type: string
description: ''
example: null
vat_identification_number_sk:
type: string
description: ''
example: null
registry_info:
type: string
description: ''
example: null
contact_name:
type: string
description: ''
example: null
contact_phone:
type: string
description: ''
example: null
contact_email:
type: string
description: ''
example: null
contact_web:
type: string
description: ''
example: null
required:
- name
- state
- street
- zip
- city
delete:
summary: ''
operationId: deleteApiUserClientClientUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- CLIENT_DELETED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Clients
parameters:
-
in: path
name: clientUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/client/{clientUuid}/invoices':
get:
summary: ''
operationId: getApiUserClientClientUuidInvoices
description: ''
parameters: []
responses:
200:
description: '`InvoiceCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Clients
parameters:
-
in: path
name: clientUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/client/{clientUuid}/createStatement':
post:
summary: ''
operationId: postApiUserClientClientUuidCreateStatement
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- CLIENT_STATEMENT_CREATED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
fromDate:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
toDate:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
onlyUnpaidInvoices:
type: boolean
description: ''
example: false
required:
- fromDate
- toDate
- onlyUnpaidInvoices
parameters:
-
in: path
name: clientUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/client/{clientUuid}/getStatement':
get:
summary: ''
operationId: getApiUserClientClientUuidGetStatement
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
fromDate:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
toDate:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
onlyUnpaidInvoices:
type: boolean
description: ''
example: true
required:
- fromDate
- toDate
- onlyUnpaidInvoices
parameters:
-
in: path
name: clientUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/client/{clientUuid}/createAndGetStatement':
get:
summary: ''
operationId: getApiUserClientClientUuidCreateAndGetStatement
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
fromDate:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
toDate:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
onlyUnpaidInvoices:
type: boolean
description: ''
example: true
required:
- fromDate
- toDate
- onlyUnpaidInvoices
parameters:
-
in: path
name: clientUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/clients':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidClients
description: ''
parameters: []
responses:
200:
description: '`ClientCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ClientCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Clients
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
/api/user/products:
get:
summary: ''
operationId: getApiUserProducts
description: ''
parameters: []
responses:
200:
description: '`ProductCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ProductCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Products
/api/user/product:
post:
summary: ''
operationId: postApiUserProduct
description: ''
parameters: []
responses:
200:
description: '`ProductResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ProductResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: architecto
name:
type: string
description: ''
example: architecto
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
price:
type: number
description: ''
example: 4326.41688
taxRate:
type: string
description: ''
example: null
discount:
type: number
description: ''
example: 4326.41688
unit:
type: string
description: ''
example: null
sku:
type: string
description: ''
example: null
weight:
type: number
description: ''
example: 4326.41688
imageBase64:
type: string
description: ''
example: null
required:
- type
- name
- price
'/api/user/product/{productUuid}':
get:
summary: ''
operationId: getApiUserProductProductUuid
description: ''
parameters: []
responses:
200:
description: '`ProductResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ProductResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Products
post:
summary: ''
operationId: postApiUserProductProductUuid
description: ''
parameters: []
responses:
200:
description: '`ProductResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ProductResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: architecto
name:
type: string
description: ''
example: architecto
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
price:
type: number
description: ''
example: 4326.41688
taxRate:
type: string
description: ''
example: null
discount:
type: number
description: ''
example: 4326.41688
unit:
type: string
description: ''
example: null
sku:
type: string
description: ''
example: null
weight:
type: number
description: ''
example: 4326.41688
imageBase64:
type: string
description: ''
example: null
imageTask:
type: string
description: ''
example: upload
enum:
- delete
- upload
- none
required:
- type
- name
- price
- imageTask
delete:
summary: ''
operationId: deleteApiUserProductProductUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- USER_PRODUCT_DELETED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Products
parameters:
-
in: path
name: productUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/product/{productUuid}/image':
get:
summary: ''
operationId: getApiUserProductProductUuidImage
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Products
parameters:
-
in: path
name: productUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
/api/user/companies:
get:
summary: ''
operationId: getApiUserCompanies
description: ''
parameters: []
responses:
200:
description: '`CompanyCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Companies
/api/user/company:
post:
summary: ''
operationId: postApiUserCompany
description: ''
parameters: []
responses:
200:
description: '`CompanyResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Companies
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
default:
type: boolean
description: ''
example: false
name:
type: string
description: ''
example: architecto
state:
type: string
description: 'Must not be greater than 2 characters.'
example: ng
street:
type: string
description: ''
example: architecto
street_extra:
type: string
description: ''
example: null
zip:
type: string
description: ''
example: architecto
city:
type: string
description: ''
example: architecto
tax_type:
type: string
description: ''
example: null
identification_number:
type: string
description: ''
example: architecto
vat_identification_number:
type: string
description: ''
example: null
vat_identification_number_sk:
type: string
description: ''
example: null
registry_info:
type: string
description: ''
example: null
contact_name:
type: string
description: ''
example: architecto
contact_phone:
type: string
description: ''
example: architecto
contact_email:
type: string
description: ''
example: gbailey@example.net
contact_web:
type: string
description: ''
example: null
payment_methods:
type: string
description: ''
example: null
template:
type: string
description: ''
example: null
logo_base64:
type: string
description: ''
example: null
signature_base64:
type: string
description: ''
example: null
required:
- name
- state
- street
- zip
- city
- identification_number
- contact_name
- contact_phone
- contact_email
'/api/user/company/{companyUuid}':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuid
description: ''
parameters: []
responses:
200:
description: '`CompanyResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Companies
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- COMPANY_DELETED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Companies
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/template':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidTemplate
description: ''
parameters: []
responses:
200:
description: '`CompanyResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Companies
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
template:
type: string
description: ''
example: Kros
enum:
- Sarif
- Sango
- Kros
- Kronos
primary_color:
type: string
description: ''
example: architecto
currency:
type: string
description: 'Must not be greater than 3 characters. Must be at least 3 characters.'
example: ngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxnt
language:
type: string
description: 'Must not be greater than 2 characters. Must be at least 2 characters.'
example: ltcv
numbering:
type: object
description: ''
example: []
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
upcoming:
type: integer
description: ''
example: 16
format:
type: string
description: ''
example: architecto
due_date_additional_days:
type: integer
description: ''
example: 16
required:
- upcoming
- format
- due_date_additional_days
formats:
type: object
description: ''
example: []
properties:
date:
type: string
description: ''
example: architecto
decimal:
type: string
description: ''
example: architecto
thousands:
type: string
description: ''
example: architecto
required:
- date
visibility:
type: object
description: ''
example: []
properties:
send_date:
type: boolean
description: ''
example: false
due_date:
type: boolean
description: ''
example: true
quantity:
type: boolean
description: ''
example: true
payment:
type: boolean
description: ''
example: false
qr_payment:
type: boolean
description: ''
example: true
required:
- due_date
- quantity
- payment
- qr_payment
qr:
type: object
description: ''
example: []
properties:
provider:
type: string
description: ''
example: UNIVERSAL
enum:
- PAY_BY_SQUARE
- UNIVERSAL
preInvoice:
type: object
description: ''
example: []
properties:
template:
type: string
description: ''
example: Kronos
enum:
- Sarif
- Sango
- Kros
- Kronos
primary_color:
type: string
description: ''
example: architecto
currency:
type: string
description: 'Must not be greater than 3 characters. Must be at least 3 characters.'
example: ngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxnt
language:
type: string
description: 'Must not be greater than 2 characters. Must be at least 2 characters.'
example: ltcv
numbering:
type: object
description: ''
example: []
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
upcoming:
type: integer
description: ''
example: 16
nullable: true
format:
type: string
description: ''
example: architecto
due_date_additional_days:
type: integer
description: ''
example: 16
formats:
type: object
description: ''
example: []
properties:
date:
type: string
description: ''
example: architecto
decimal:
type: string
description: ''
example: architecto
thousands:
type: string
description: ''
example: null
visibility:
type: object
description: ''
example: []
properties:
send_date:
type: boolean
description: ''
example: true
due_date:
type: boolean
description: ''
example: false
quantity:
type: boolean
description: ''
example: false
payment:
type: boolean
description: ''
example: false
qr_payment:
type: boolean
description: ''
example: false
qr:
type: object
description: ''
example: []
properties:
provider:
type: string
description: ''
example: UNIVERSAL
enum:
- PAY_BY_SQUARE
- UNIVERSAL
required:
- template
- primary_color
- currency
- language
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/basic':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidBasic
description: ''
parameters: []
responses:
200:
description: '`CompanyResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Companies
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
default:
type: boolean
description: ''
example: true
name:
type: string
description: ''
example: architecto
state:
type: string
description: 'Must not be greater than 2 characters.'
example: ng
street:
type: string
description: ''
example: architecto
street_extra:
type: string
description: ''
example: null
zip:
type: string
description: ''
example: architecto
city:
type: string
description: ''
example: architecto
tax_type:
type: string
description: ''
example: null
identification_number:
type: string
description: ''
example: architecto
vat_identification_number:
type: string
description: ''
example: null
vat_identification_number_sk:
type: string
description: ''
example: null
registry_info:
type: string
description: ''
example: null
contact_name:
type: string
description: ''
example: architecto
contact_phone:
type: string
description: ''
example: architecto
contact_email:
type: string
description: ''
example: gbailey@example.net
contact_web:
type: string
description: ''
example: null
required:
- name
- state
- street
- zip
- city
- identification_number
- contact_name
- contact_phone
- contact_email
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/bankAccount':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidBankAccount
description: ''
parameters: []
responses:
200:
description: '`CompanyResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/CompanyResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Companies
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
bank_transfer:
type: object
description: ''
example: []
properties:
name:
type: string
description: ''
example: architecto
code:
type: string
description: ''
example: architecto
iban:
type: string
description: ''
example: architecto
swift:
type: string
description: ''
example: architecto
required:
- name
- code
- iban
- swift
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/signature':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidSignature
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Companies
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidSignature
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- COMPANY_SIGNATURE_UPDATED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Companies
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
signature_base64:
type: string
description: ''
example: architecto
required:
- signature_base64
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/logo':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidLogo
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Companies
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidLogo
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- COMPANY_LOGO_UPDATED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Companies
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
logo_base64:
type: string
description: ''
example: architecto
required:
- logo_base64
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/dashboard':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidDashboard
description: ''
parameters:
-
in: query
name: year
description: 'Filter all dashboard data by invoice billing year. Defaults to the current year. Must be between 1900 and 2100.'
example: 2025
required: false
schema:
type: integer
description: 'Filter all dashboard data by invoice billing year. Defaults to the current year. Must be between 1900 and 2100.'
example: 2025
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
currency:
type: string
example: EUR
stats:
type: object
properties:
paid_amount:
type: number
example: 1200.5
due_amount:
type: number
example: 360.25
overdue_amount:
type: number
example: 120.75
invoices_this_year:
type: integer
example: 24
preinvoices_this_year:
type: integer
example: 6
monthly_income:
type: number
example: 840.5
recent:
type: object
properties:
invoices:
type: array
example:
-
billed_date: '2026-08-21'
currency_3_code: EUR
due_date: '2026-09-04'
number: '20260001'
paid: false
sent: true
total: 120.5
type: invoice
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
items:
type: object
properties:
billed_date:
type: string
example: '2026-08-21'
currency_3_code:
type: string
example: EUR
due_date:
type: string
example: '2026-09-04'
number:
type: string
example: '20260001'
paid:
type: boolean
example: false
sent:
type: boolean
example: true
total:
type: number
example: 120.5
type:
type: string
example: invoice
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
preinvoices:
type: array
example:
-
billed_date: '2026-08-21'
currency_3_code: EUR
due_date: '2026-09-04'
number: '20260001'
paid: false
sent: true
total: 120.5
type: preinvoice
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
items:
type: object
properties:
billed_date:
type: string
example: '2026-08-21'
currency_3_code:
type: string
example: EUR
due_date:
type: string
example: '2026-09-04'
number:
type: string
example: '20260001'
paid:
type: boolean
example: false
sent:
type: boolean
example: true
total:
type: number
example: 120.5
type:
type: string
example: preinvoice
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
charts:
type: object
properties:
available_years:
type: array
example:
- 2026
- 2025
items:
type: integer
revenue_by_month:
type: array
example:
-
month: 2026-01
total: 1200.5
items:
type: object
properties:
month:
type: string
example: 2026-01
total:
type: number
example: 1200.5
revenue_year:
type: integer
example: 2026
documents_by_type:
type: array
example:
-
count: 24
type: invoice
-
count: 6
type: preinvoice
items:
type: object
properties:
count:
type: integer
example: 24
type:
type: string
example: invoice
receivables_breakdown:
type: array
example:
-
amount: 1200.5
type: paid
-
amount: 360.25
type: due
-
amount: 120.75
type: overdue
items:
type: object
properties:
amount:
type: number
example: 1200.5
type:
type: string
example: paid
tags:
- Dashboard
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/team':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidTeam
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
current_role:
type: string
example: owner
members:
type: array
example:
-
email: owner@example.com
name: 'Company Owner'
role: owner
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
items:
type: object
properties:
email:
type: string
example: owner@example.com
name:
type: string
example: 'Company Owner'
role:
type: string
example: owner
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
invitations:
type: array
example:
-
id: 1
email: accountant@example.com
role: accountant
expires_at: '2026-08-28T10:00:00+00:00'
items:
type: object
properties:
id:
type: integer
example: 1
email:
type: string
example: accountant@example.com
role:
type: string
example: accountant
expires_at:
type: string
example: '2026-08-28T10:00:00+00:00'
tags:
- 'Company Team'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/team/invitations':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidTeamInvitations
description: ''
parameters: []
responses:
201:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
invitation:
type: object
properties:
id:
type: integer
example: 1
email:
type: string
example: accountant@example.com
role:
type: string
example: accountant
expires_at:
type: string
example: '2026-08-28T10:00:00+00:00'
accept_url:
type: string
example: 'https://fakturo.app/dashboard/team/invitations/example-token'
tags:
- 'Company Team'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Must be a valid email address. Must not be greater than 255 characters.'
example: gbailey@example.net
role:
type: string
description: ''
example: owner
enum:
- owner
- admin
- accountant
- viewer
required:
- email
- role
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/team/invitations/{invitationId}':
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidTeamInvitationsInvitationId
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
current_role:
type: string
example: owner
members:
type: array
example:
-
email: owner@example.com
name: 'Company Owner'
role: owner
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
items:
type: object
properties:
email:
type: string
example: owner@example.com
name:
type: string
example: 'Company Owner'
role:
type: string
example: owner
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
invitations:
type: array
example:
-
id: 1
email: accountant@example.com
role: accountant
expires_at: '2026-08-28T10:00:00+00:00'
items:
type: object
properties:
id:
type: integer
example: 1
email:
type: string
example: accountant@example.com
role:
type: string
example: accountant
expires_at:
type: string
example: '2026-08-28T10:00:00+00:00'
tags:
- 'Company Team'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invitationId
description: ''
example: architecto
required: true
schema:
type: string
'/api/user/company/{companyUuid}/team/members/{userUuid}':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidTeamMembersUserUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
current_role:
type: string
example: owner
members:
type: array
example:
-
email: owner@example.com
name: 'Company Owner'
role: owner
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
items:
type: object
properties:
email:
type: string
example: owner@example.com
name:
type: string
example: 'Company Owner'
role:
type: string
example: owner
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
invitations:
type: array
example:
-
id: 1
email: accountant@example.com
role: accountant
expires_at: '2026-08-28T10:00:00+00:00'
items:
type: object
properties:
id:
type: integer
example: 1
email:
type: string
example: accountant@example.com
role:
type: string
example: accountant
expires_at:
type: string
example: '2026-08-28T10:00:00+00:00'
tags:
- 'Company Team'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
role:
type: string
description: ''
example: accountant
enum:
- owner
- admin
- accountant
- viewer
required:
- role
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidTeamMembersUserUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
current_role:
type: string
example: owner
members:
type: array
example:
-
email: owner@example.com
name: 'Company Owner'
role: owner
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
items:
type: object
properties:
email:
type: string
example: owner@example.com
name:
type: string
example: 'Company Owner'
role:
type: string
example: owner
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
invitations:
type: array
example:
-
id: 1
email: accountant@example.com
role: accountant
expires_at: '2026-08-28T10:00:00+00:00'
items:
type: object
properties:
id:
type: integer
example: 1
email:
type: string
example: accountant@example.com
role:
type: string
example: accountant
expires_at:
type: string
example: '2026-08-28T10:00:00+00:00'
tags:
- 'Company Team'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: userUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/team/invitations/{token}':
get:
summary: ''
operationId: getApiUserTeamInvitationsToken
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
email:
type: string
example: accountant@example.com
expires_at:
type: string
example: '2026-08-28T10:00:00+00:00'
role:
type: string
example: accountant
tags:
- 'Company Team'
parameters:
-
in: path
name: token
description: ''
example: architecto
required: true
schema:
type: string
'/api/user/team/invitations/{token}/accept':
post:
summary: ''
operationId: postApiUserTeamInvitationsTokenAccept
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company:
type: object
properties:
name:
type: string
example: 'Example s. r. o.'
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
tags:
- 'Company Team'
parameters:
-
in: path
name: token
description: ''
example: architecto
required: true
schema:
type: string
'/api/user/company/{companyUuid}/notification-settings':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidNotificationSettings
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: integer
example: 1
company_id:
type: integer
example: 42
team_activity_emails:
type: boolean
example: true
recurring_invoice_emails:
type: boolean
example: true
invoice_due_reminders:
type: boolean
example: false
invoice_overdue_reminders:
type: boolean
example: false
invoice_payment_confirmation:
type: boolean
example: false
expense_due_reminders:
type: boolean
example: true
invoice_due_days_before:
type: integer
example: 3
expense_due_days_before:
type: integer
example: 3
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Notification Settings'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidNotificationSettings
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: integer
example: 1
company_id:
type: integer
example: 42
team_activity_emails:
type: boolean
example: true
recurring_invoice_emails:
type: boolean
example: true
invoice_due_reminders:
type: boolean
example: false
invoice_overdue_reminders:
type: boolean
example: false
invoice_payment_confirmation:
type: boolean
example: false
expense_due_reminders:
type: boolean
example: true
invoice_due_days_before:
type: integer
example: 3
expense_due_days_before:
type: integer
example: 3
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Notification Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
team_activity_emails:
type: boolean
description: ''
example: false
recurring_invoice_emails:
type: boolean
description: ''
example: false
invoice_due_reminders:
type: boolean
description: ''
example: true
invoice_overdue_reminders:
type: boolean
description: ''
example: false
invoice_payment_confirmation:
type: boolean
description: ''
example: true
expense_due_reminders:
type: boolean
description: ''
example: false
invoice_due_days_before:
type: integer
description: 'Must be at least 0. Must not be greater than 30.'
example: 1
expense_due_days_before:
type: integer
description: 'Must be at least 0. Must not be greater than 30.'
example: 22
required:
- team_activity_emails
- recurring_invoice_emails
- invoice_due_reminders
- invoice_overdue_reminders
- invoice_payment_confirmation
- expense_due_reminders
- invoice_due_days_before
- expense_due_days_before
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/e-invoice/settings':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidEInvoiceSettings
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
enabled:
type: boolean
example: true
provider:
type: string
example: epostak
configured:
type: boolean
example: true
configuration:
type: object
properties:
environment:
type: string
example: sandbox
client_id:
type: string
example: 487d008a-b3a5-49d0-be3e-ba45cc9c4ffe
participant_id:
type: string
example: '0245:2020202020'
settings:
type: array
example: []
providers:
type: array
example:
-
identifier: epostak
name: ePošťák
capabilities:
- send
- receive
- delivery_status
- connection_test
configuration_schema:
-
name: environment
label: Prostredie
type: select
required: true
secret: false
items:
type: object
properties:
identifier:
type: string
example: epostak
name:
type: string
example: ePošťák
capabilities:
type: array
example:
- send
- receive
- delivery_status
- connection_test
items:
type: string
configuration_schema:
type: array
example:
-
name: environment
label: Prostredie
type: select
required: true
secret: false
items:
type: object
properties:
name:
type: string
example: environment
label:
type: string
example: Prostredie
type:
type: string
example: select
required:
type: boolean
example: true
secret:
type: boolean
example: false
tags:
- 'E-Invoice Settings'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidEInvoiceSettings
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
enabled:
type: boolean
example: true
provider:
type: string
example: epostak
configured:
type: boolean
example: true
configuration:
type: object
properties:
environment:
type: string
example: sandbox
client_id:
type: string
example: 487d008a-b3a5-49d0-be3e-ba45cc9c4ffe
participant_id:
type: string
example: '0245:2020202020'
settings:
type: array
example: []
providers:
type: array
example:
-
identifier: epostak
name: ePošťák
capabilities:
- send
- receive
- delivery_status
- connection_test
configuration_schema:
-
name: environment
label: Prostredie
type: select
required: true
secret: false
items:
type: object
properties:
identifier:
type: string
example: epostak
name:
type: string
example: ePošťák
capabilities:
type: array
example:
- send
- receive
- delivery_status
- connection_test
items:
type: string
configuration_schema:
type: array
example:
-
name: environment
label: Prostredie
type: select
required: true
secret: false
items:
type: object
properties:
name:
type: string
example: environment
label:
type: string
example: Prostredie
type:
type: string
example: select
required:
type: boolean
example: true
secret:
type: boolean
example: false
tags:
- 'E-Invoice Settings'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
provider:
type: string
description: 'Must not be greater than 64 characters.'
example: b
nullable: true
enabled:
type: boolean
description: ''
example: true
credentials:
type: object
description: ''
example: null
properties: { }
settings:
type: object
description: ''
example: null
properties: { }
required:
- enabled
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/createFutureInvoicePreview':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceCreateFutureInvoicePreview
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- COMPANY_INVOICE_PREVIEW_CREATED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Invoices
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
number:
type: string
description: ''
example: architecto
billed_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
due_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
send_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
variable_symbol:
type: string
description: ''
example: null
constant_symbol:
type: string
description: ''
example: null
specific_symbol:
type: string
description: ''
example: null
order_id:
type: string
description: ''
example: null
billed_client_id:
type: integer
description: ''
example: 16
nullable: true
items:
type: object
description: ''
example: []
properties: { }
payment:
type: string
description: ''
example: CASH
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
description: ''
example: null
bank_transfer:
type: string
description: ''
example: null
note:
type: string
description: ''
example: null
totalPrice:
type: number
description: ''
example: 4326.41688
currency_3_code:
type: string
description: 'Must be at least 3 characters. Must not be greater than 3 characters.'
example: m
language_2_code:
type: string
description: 'Must be at least 2 characters. Must not be greater than 2 characters.'
example: iy
required:
- number
- billed_date
- due_date
- send_date
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/getFutureInvoicePreview':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceGetFutureInvoicePreview
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoices/pdfBulk':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoicesPdfBulk
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoices/exportBulk':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoicesExportBulk
description: ''
parameters: []
responses:
200:
description: 'Binary file response'
content:
application/zip:
schema:
type: string
format: binary
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoices':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoices
description: ''
parameters: []
responses:
200:
description: '`InvoiceCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoice
description: ''
parameters: []
responses:
200:
description: '`InvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Invoices
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
number:
type: string
description: ''
example: architecto
billed_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
due_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
send_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
variable_symbol:
type: string
description: ''
example: null
constant_symbol:
type: string
description: ''
example: null
specific_symbol:
type: string
description: ''
example: null
order_id:
type: string
description: ''
example: null
billed_client_id:
type: integer
description: ''
example: 16
items:
type: object
description: ''
example: []
properties: { }
payment:
type: string
description: ''
example: BANK
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
description: ''
example: null
bank_transfer:
type: string
description: ''
example: null
note:
type: string
description: ''
example: null
totalPrice:
type: number
description: ''
example: 4326.41688
currency_3_code:
type: string
description: 'Must be at least 3 characters. Must not be greater than 3 characters.'
example: m
language_2_code:
type: string
description: 'Must be at least 2 characters. Must not be greater than 2 characters.'
example: iy
required:
- number
- billed_date
- due_date
- send_date
- billed_client_id
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuid
description: ''
parameters: []
responses:
200:
description: '`InvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceInvoiceUuid
description: ''
parameters: []
responses:
200:
description: '`InvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- Invoices
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
number:
type: string
description: ''
example: architecto
billed_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
due_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
send_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
variable_symbol:
type: string
description: ''
example: null
constant_symbol:
type: string
description: ''
example: null
specific_symbol:
type: string
description: ''
example: null
order_id:
type: string
description: ''
example: null
billed_client_id:
type: integer
description: ''
example: 16
items:
type: object
description: ''
example: []
properties: { }
payment:
type: string
description: ''
example: CASH
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
description: ''
example: null
bank_transfer:
type: string
description: ''
example: null
note:
type: string
description: ''
example: null
totalPrice:
type: number
description: ''
example: 4326.41688
currency_3_code:
type: string
description: 'Must be at least 3 characters. Must not be greater than 3 characters.'
example: m
language_2_code:
type: string
description: 'Must be at least 2 characters. Must not be greater than 2 characters.'
example: iy
required:
- number
- billed_date
- due_date
- send_date
- billed_client_id
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidInvoiceInvoiceUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- COMPANY_INVOICE_DELETED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/history':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidHistory
description: ''
parameters: []
responses:
200:
description: '`InvoiceHistoryCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceHistoryCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/pdf':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidPdf
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/isdoc':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidIsdoc
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/ubl':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidUbl
description: ''
parameters: []
responses:
200:
description: 'Binary file response'
content:
application/xml:
schema:
type: string
format: binary
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/pdfIsdoc':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidPdfIsdoc
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/pdfGenerate':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceInvoiceUuidPdfGenerate
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Invoices
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/paid':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceInvoiceUuidPaid
description: ''
parameters: []
responses:
200:
description: '`InvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Invoices
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
paid:
type: boolean
description: ''
example: true
required:
- paid
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/sent':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceInvoiceUuidSent
description: ''
parameters: []
responses:
200:
description: '`InvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Invoices
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
sent:
type: boolean
description: ''
example: true
required:
- sent
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoices':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPreinvoices
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Proforma Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPreinvoice
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- 'Proforma Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
number:
type: string
description: ''
example: architecto
billed_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
due_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
send_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
variable_symbol:
type: string
description: ''
example: null
constant_symbol:
type: string
description: ''
example: null
specific_symbol:
type: string
description: ''
example: null
order_id:
type: string
description: ''
example: null
billed_client_id:
type: integer
description: ''
example: 16
items:
type: object
description: ''
example: []
properties: { }
payment:
type: string
description: ''
example: BANK
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
description: ''
example: null
bank_transfer:
type: string
description: ''
example: null
note:
type: string
description: ''
example: null
totalPrice:
type: number
description: ''
example: 4326.41688
currency_3_code:
type: string
description: 'Must be at least 3 characters. Must not be greater than 3 characters.'
example: m
language_2_code:
type: string
description: 'Must be at least 2 characters. Must not be greater than 2 characters.'
example: iy
required:
- number
- billed_date
- due_date
- send_date
- billed_client_id
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/createFuturePreInvoicePreview':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPreinvoiceCreateFuturePreInvoicePreview
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: COMPANY_PREINVOICE_PREVIEW_CREATED
tags:
- 'Proforma Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
number:
type: string
description: ''
example: architecto
billed_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
due_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
send_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
variable_symbol:
type: string
description: ''
example: null
constant_symbol:
type: string
description: ''
example: null
specific_symbol:
type: string
description: ''
example: null
order_id:
type: string
description: ''
example: null
billed_client_id:
type: integer
description: ''
example: 16
nullable: true
items:
type: object
description: ''
example: []
properties: { }
payment:
type: string
description: ''
example: BANK
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
description: ''
example: null
bank_transfer:
type: string
description: ''
example: null
note:
type: string
description: ''
example: null
totalPrice:
type: number
description: ''
example: 4326.41688
currency_3_code:
type: string
description: 'Must be at least 3 characters. Must not be greater than 3 characters.'
example: m
language_2_code:
type: string
description: 'Must be at least 2 characters. Must not be greater than 2 characters.'
example: iy
required:
- number
- billed_date
- due_date
- send_date
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/getFuturePreInvoicePreview':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPreinvoiceGetFuturePreInvoicePreview
description: ''
parameters: []
responses:
200:
description: 'Binary file response'
content:
application/pdf:
schema:
type: string
format: binary
tags:
- 'Proforma Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/{preInvoiceUuid}':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuid
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Proforma Invoices'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuid
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
403:
$ref: '#/components/responses/AuthorizationException'
tags:
- 'Proforma Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prefix:
type: string
description: ''
example: architecto
nullable: true
number:
type: string
description: ''
example: architecto
billed_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
due_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
send_date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
variable_symbol:
type: string
description: ''
example: null
constant_symbol:
type: string
description: ''
example: null
specific_symbol:
type: string
description: ''
example: null
order_id:
type: string
description: ''
example: null
billed_client_id:
type: integer
description: ''
example: 16
items:
type: object
description: ''
example: []
properties: { }
payment:
type: string
description: ''
example: BANK
enum:
- BANK
- CASH
cash_payment_rounding:
type: string
description: ''
example: null
bank_transfer:
type: string
description: ''
example: null
note:
type: string
description: ''
example: null
totalPrice:
type: number
description: ''
example: 4326.41688
currency_3_code:
type: string
description: 'Must be at least 3 characters. Must not be greater than 3 characters.'
example: m
language_2_code:
type: string
description: 'Must be at least 2 characters. Must not be greater than 2 characters.'
example: iy
required:
- number
- billed_date
- due_date
- send_date
- billed_client_id
- items
- payment
- totalPrice
- currency_3_code
- language_2_code
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- COMPANY_PREINVOICE_DELETED
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Proforma Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: preInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/{preInvoiceUuid}/history':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuidHistory
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceHistoryCollectionResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceHistoryCollectionResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Proforma Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: preInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/{preInvoiceUuid}/pdf':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuidPdf
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- 'Proforma Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: preInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/{preInvoiceUuid}/paid':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuidPaid
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- 'Proforma Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
paid:
type: boolean
description: ''
example: true
required:
- paid
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: preInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/{preInvoiceUuid}/sent':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPreinvoicePreInvoiceUuidSent
description: ''
parameters: []
responses:
200:
description: '`PreInvoiceResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/PreInvoiceResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- 'Proforma Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
sent:
type: boolean
description: ''
example: true
required:
- sent
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: preInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/recurring-invoices':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidRecurringInvoices
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: array
example:
-
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
name: 'Monthly support'
client_id: 42
client:
id: 42
uuid: 018f1f47-7c8a-7d18-ae5e-abcdef123456
name: 'Client s. r. o.'
frequency: monthly
interval: 1
starts_on: '2026-09-01'
next_run_on: '2026-10-01'
ends_on: null
due_days: 14
is_active: true
last_generated_at: null
generated_count: 0
items:
-
name: Support
price: 100
quantity: 1
taxRate: 20
payment: BANK
bank_transfer: []
note: null
currency_3_code: EUR
language_2_code: sk
created_at: '2026-08-21T09:30:00.000000Z'
updated_at: '2026-08-21T09:30:00.000000Z'
items:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
name:
type: string
example: 'Monthly support'
client_id:
type: integer
example: 42
client:
type: object
properties:
id:
type: integer
example: 42
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
name:
type: string
example: 'Client s. r. o.'
frequency:
type: string
example: monthly
interval:
type: integer
example: 1
starts_on:
type: string
example: '2026-09-01'
next_run_on:
type: string
example: '2026-10-01'
ends_on:
type: string
example: null
nullable: true
due_days:
type: integer
example: 14
is_active:
type: boolean
example: true
last_generated_at:
type: string
example: null
nullable: true
generated_count:
type: integer
example: 0
items:
type: array
example:
-
name: Support
price: 100
quantity: 1
taxRate: 20
items:
type: object
properties:
name:
type: string
example: Support
price:
type: integer
example: 100
quantity:
type: integer
example: 1
taxRate:
type: integer
example: 20
payment:
type: string
example: BANK
bank_transfer:
type: array
example: []
note:
type: string
example: null
nullable: true
currency_3_code:
type: string
example: EUR
language_2_code:
type: string
example: sk
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Recurring Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/recurring-invoice':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidRecurringInvoice
description: ''
parameters: []
responses:
201:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
name:
type: string
example: 'Monthly support'
client_id:
type: integer
example: 42
client:
type: object
properties:
id:
type: integer
example: 42
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
name:
type: string
example: 'Client s. r. o.'
frequency:
type: string
example: monthly
interval:
type: integer
example: 1
starts_on:
type: string
example: '2026-09-01'
next_run_on:
type: string
example: '2026-10-01'
ends_on:
type: string
example: null
nullable: true
due_days:
type: integer
example: 14
is_active:
type: boolean
example: true
last_generated_at:
type: string
example: null
nullable: true
generated_count:
type: integer
example: 0
items:
type: array
example:
-
name: Support
price: 100
quantity: 1
taxRate: 20
items:
type: object
properties:
name:
type: string
example: Support
price:
type: integer
example: 100
quantity:
type: integer
example: 1
taxRate:
type: integer
example: 20
payment:
type: string
example: BANK
bank_transfer:
type: array
example: []
note:
type: string
example: null
nullable: true
currency_3_code:
type: string
example: EUR
language_2_code:
type: string
example: sk
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Recurring Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Must not be greater than 120 characters.'
example: b
client_id:
type: integer
description: ''
example: 16
frequency:
type: string
description: ''
example: monthly
enum:
- weekly
- monthly
- quarterly
- yearly
interval:
type: integer
description: 'Must be at least 1. Must not be greater than 12.'
example: 4
starts_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
ends_on:
type: string
description: 'Must be a valid date. Must be a date after or equal to starts_on.'
example: '2052-10-06'
nullable: true
due_days:
type: integer
description: 'Must be at least 0. Must not be greater than 365.'
example: 22
is_active:
type: boolean
description: ''
example: true
items:
type: array
description: 'Must have at least 1 items.'
example:
- []
items:
type: object
properties:
name:
type: string
description: 'Must not be greater than 255 characters.'
example: 'y'
price:
type: number
description: ''
example: 4326.41688
quantity:
type: number
description: ''
example: 4326.41688
taxRate:
type: number
description: 'Must be at least 0. Must not be greater than 100.'
example: 17
nullable: true
required:
- name
- price
- quantity
payment:
type: string
description: ''
example: BANK
enum:
- BANK
- CASH
bank_transfer:
type: object
description: ''
example: null
properties: { }
nullable: true
note:
type: string
description: 'Must not be greater than 5000 characters.'
example: b
nullable: true
currency_3_code:
type: string
description: 'Must be 3 characters.'
example: ngz
language_2_code:
type: string
description: 'Must be 2 characters.'
example: mi
required:
- name
- client_id
- frequency
- interval
- starts_on
- due_days
- items
- payment
- currency_3_code
- language_2_code
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/recurring-invoice/{recurringInvoiceUuid}':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidRecurringInvoiceRecurringInvoiceUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
name:
type: string
example: 'Monthly support'
client_id:
type: integer
example: 42
client:
type: object
properties:
id:
type: integer
example: 42
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
name:
type: string
example: 'Client s. r. o.'
frequency:
type: string
example: monthly
interval:
type: integer
example: 1
starts_on:
type: string
example: '2026-09-01'
next_run_on:
type: string
example: '2026-10-01'
ends_on:
type: string
example: null
nullable: true
due_days:
type: integer
example: 14
is_active:
type: boolean
example: true
last_generated_at:
type: string
example: null
nullable: true
generated_count:
type: integer
example: 0
items:
type: array
example:
-
name: Support
price: 100
quantity: 1
taxRate: 20
items:
type: object
properties:
name:
type: string
example: Support
price:
type: integer
example: 100
quantity:
type: integer
example: 1
taxRate:
type: integer
example: 20
payment:
type: string
example: BANK
bank_transfer:
type: array
example: []
note:
type: string
example: null
nullable: true
currency_3_code:
type: string
example: EUR
language_2_code:
type: string
example: sk
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Recurring Invoices'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidRecurringInvoiceRecurringInvoiceUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
name:
type: string
example: 'Monthly support'
client_id:
type: integer
example: 42
client:
type: object
properties:
id:
type: integer
example: 42
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
name:
type: string
example: 'Client s. r. o.'
frequency:
type: string
example: monthly
interval:
type: integer
example: 1
starts_on:
type: string
example: '2026-09-01'
next_run_on:
type: string
example: '2026-10-01'
ends_on:
type: string
example: null
nullable: true
due_days:
type: integer
example: 14
is_active:
type: boolean
example: true
last_generated_at:
type: string
example: null
nullable: true
generated_count:
type: integer
example: 0
items:
type: array
example:
-
name: Support
price: 100
quantity: 1
taxRate: 20
items:
type: object
properties:
name:
type: string
example: Support
price:
type: integer
example: 100
quantity:
type: integer
example: 1
taxRate:
type: integer
example: 20
payment:
type: string
example: BANK
bank_transfer:
type: array
example: []
note:
type: string
example: null
nullable: true
currency_3_code:
type: string
example: EUR
language_2_code:
type: string
example: sk
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Recurring Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Must not be greater than 120 characters.'
example: b
client_id:
type: integer
description: ''
example: 16
frequency:
type: string
description: ''
example: quarterly
enum:
- weekly
- monthly
- quarterly
- yearly
interval:
type: integer
description: 'Must be at least 1. Must not be greater than 12.'
example: 4
starts_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
ends_on:
type: string
description: 'Must be a valid date. Must be a date after or equal to starts_on.'
example: '2052-10-06'
nullable: true
due_days:
type: integer
description: 'Must be at least 0. Must not be greater than 365.'
example: 22
is_active:
type: boolean
description: ''
example: false
items:
type: array
description: 'Must have at least 1 items.'
example:
- []
items:
type: object
properties:
name:
type: string
description: 'Must not be greater than 255 characters.'
example: 'y'
price:
type: number
description: ''
example: 4326.41688
quantity:
type: number
description: ''
example: 4326.41688
taxRate:
type: number
description: 'Must be at least 0. Must not be greater than 100.'
example: 17
nullable: true
required:
- name
- price
- quantity
payment:
type: string
description: ''
example: BANK
enum:
- BANK
- CASH
bank_transfer:
type: object
description: ''
example: null
properties: { }
nullable: true
note:
type: string
description: 'Must not be greater than 5000 characters.'
example: b
nullable: true
currency_3_code:
type: string
description: 'Must be 3 characters.'
example: ngz
language_2_code:
type: string
description: 'Must be 2 characters.'
example: mi
required:
- name
- client_id
- frequency
- interval
- starts_on
- due_days
- items
- payment
- currency_3_code
- language_2_code
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidRecurringInvoiceRecurringInvoiceUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: RECURRING_INVOICE_DELETED
tags:
- 'Recurring Invoices'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: recurringInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/recurring-invoice/{recurringInvoiceUuid}/status':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidRecurringInvoiceRecurringInvoiceUuidStatus
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
name:
type: string
example: 'Monthly support'
client_id:
type: integer
example: 42
client:
type: object
properties:
id:
type: integer
example: 42
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
name:
type: string
example: 'Client s. r. o.'
frequency:
type: string
example: monthly
interval:
type: integer
example: 1
starts_on:
type: string
example: '2026-09-01'
next_run_on:
type: string
example: '2026-10-01'
ends_on:
type: string
example: null
nullable: true
due_days:
type: integer
example: 14
is_active:
type: boolean
example: true
last_generated_at:
type: string
example: null
nullable: true
generated_count:
type: integer
example: 0
items:
type: array
example:
-
name: Support
price: 100
quantity: 1
taxRate: 20
items:
type: object
properties:
name:
type: string
example: Support
price:
type: integer
example: 100
quantity:
type: integer
example: 1
taxRate:
type: integer
example: 20
payment:
type: string
example: BANK
bank_transfer:
type: array
example: []
note:
type: string
example: null
nullable: true
currency_3_code:
type: string
example: EUR
language_2_code:
type: string
example: sk
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Recurring Invoices'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
is_active:
type: boolean
description: ''
example: true
required:
- is_active
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: recurringInvoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/expenses':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidExpenses
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: array
example:
-
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type: received_invoice
supplier_name: 'Supplier s. r. o.'
supplier_identification_number: '12345678'
document_number: DF-2026-001
variable_symbol: '2026001'
issued_on: '2026-08-01'
delivered_on: '2026-08-01'
due_on: '2026-08-31'
paid_on: null
category: services
description: 'Monthly services'
currency_3_code: EUR
net_amount: '100.00'
vat_amount: '23.00'
total_amount: '123.00'
payment_method: bank_transfer
paid: false
tax_deductible: true
note: null
status: open
attachment:
original_name: received-invoice.pdf
mime_type: application/pdf
size: 122880
download_url: /api/user/company/example/expense/example/attachment
e_invoice:
provider: epostak
provider_document_id: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status: acknowledged
received_at: '2026-08-21T09:30:00.000000Z'
acknowledged_at: '2026-08-21T09:31:00.000000Z'
created_at: '2026-08-21T09:30:00.000000Z'
updated_at: '2026-08-21T09:30:00.000000Z'
items:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: object
properties:
original_name:
type: string
example: received-invoice.pdf
mime_type:
type: string
example: application/pdf
size:
type: integer
example: 122880
download_url:
type: string
example: /api/user/company/example/expense/example/attachment
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/expense':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidExpense
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: object
properties:
original_name:
type: string
example: received-invoice.pdf
mime_type:
type: string
example: application/pdf
size:
type: integer
example: 122880
download_url:
type: string
example: /api/user/company/example/expense/example/attachment
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: received_invoice
enum:
- received_invoice
- expense
supplier_name:
type: string
description: 'Must not be greater than 255 characters.'
example: b
supplier_identification_number:
type: string
description: 'Must not be greater than 64 characters.'
example: 'n'
nullable: true
document_number:
type: string
description: 'This field is required when type is received_invoice. Must not be greater than 120 characters.'
example: g
nullable: true
variable_symbol:
type: string
description: 'Must not be greater than 20 characters.'
example: zmiyvdljnikhwayk
nullable: true
issued_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
delivered_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
due_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
paid_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
category:
type: string
description: ''
example: rent
enum:
- goods
- services
- rent
- utilities
- travel
- marketing
- taxes
- wages
- other
description:
type: string
description: 'Must not be greater than 255 characters.'
example: 'Omnis nostrum aut adipisci quidem nostrum qui commodi.'
nullable: true
currency_3_code:
type: string
description: 'Must be 3 characters.'
example: qwr
net_amount:
type: number
description: 'Must be at least 0. Must not be greater than 9999999999999.99.'
example: 10
vat_amount:
type: number
description: 'Must be at least 0. Must not be greater than 9999999999999.99.'
example: 20
payment_method:
type: string
description: ''
example: other
enum:
- bank_transfer
- cash
- card
- direct_debit
- other
nullable: true
paid:
type: boolean
description: ''
example: false
tax_deductible:
type: boolean
description: ''
example: true
note:
type: string
description: 'Must not be greater than 5000 characters.'
example: t
nullable: true
required:
- type
- supplier_name
- issued_on
- category
- currency_3_code
- net_amount
- vat_amount
- paid
- tax_deductible
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/expense/{expenseUuid}':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidExpenseExpenseUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: object
properties:
original_name:
type: string
example: received-invoice.pdf
mime_type:
type: string
example: application/pdf
size:
type: integer
example: 122880
download_url:
type: string
example: /api/user/company/example/expense/example/attachment
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidExpenseExpenseUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: object
properties:
original_name:
type: string
example: received-invoice.pdf
mime_type:
type: string
example: application/pdf
size:
type: integer
example: 122880
download_url:
type: string
example: /api/user/company/example/expense/example/attachment
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: received_invoice
enum:
- received_invoice
- expense
supplier_name:
type: string
description: 'Must not be greater than 255 characters.'
example: b
supplier_identification_number:
type: string
description: 'Must not be greater than 64 characters.'
example: 'n'
nullable: true
document_number:
type: string
description: 'This field is required when type is received_invoice. Must not be greater than 120 characters.'
example: g
nullable: true
variable_symbol:
type: string
description: 'Must not be greater than 20 characters.'
example: zmiyvdljnikhwayk
nullable: true
issued_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
delivered_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
due_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
paid_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
category:
type: string
description: ''
example: goods
enum:
- goods
- services
- rent
- utilities
- travel
- marketing
- taxes
- wages
- other
description:
type: string
description: 'Must not be greater than 255 characters.'
example: 'Omnis nostrum aut adipisci quidem nostrum qui commodi.'
nullable: true
currency_3_code:
type: string
description: 'Must be 3 characters.'
example: qwr
net_amount:
type: number
description: 'Must be at least 0. Must not be greater than 9999999999999.99.'
example: 10
vat_amount:
type: number
description: 'Must be at least 0. Must not be greater than 9999999999999.99.'
example: 20
payment_method:
type: string
description: ''
example: cash
enum:
- bank_transfer
- cash
- card
- direct_debit
- other
nullable: true
paid:
type: boolean
description: ''
example: true
tax_deductible:
type: boolean
description: ''
example: true
note:
type: string
description: 'Must not be greater than 5000 characters.'
example: t
nullable: true
required:
- type
- supplier_name
- issued_on
- category
- currency_3_code
- net_amount
- vat_amount
- paid
- tax_deductible
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidExpenseExpenseUuid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: EXPENSE_DELETED
tags:
- Expenses
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: expenseUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/expense/{expenseUuid}/paid':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidExpenseExpenseUuidPaid
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: object
properties:
original_name:
type: string
example: received-invoice.pdf
mime_type:
type: string
example: application/pdf
size:
type: integer
example: 122880
download_url:
type: string
example: /api/user/company/example/expense/example/attachment
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
paid:
type: boolean
description: ''
example: false
paid_on:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
nullable: true
required:
- paid
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: expenseUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/expense/{expenseUuid}/attachment':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidExpenseExpenseUuidAttachment
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: object
properties:
original_name:
type: string
example: received-invoice.pdf
mime_type:
type: string
example: application/pdf
size:
type: integer
example: 122880
download_url:
type: string
example: /api/user/company/example/expense/example/attachment
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
attachment:
type: string
format: binary
description: 'Must be a file. Must not be greater than 10240 kilobytes.'
required:
- attachment
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidExpenseExpenseUuidAttachment
description: ''
parameters: []
responses:
200:
description: 'Binary file response'
content:
application/pdf:
schema:
type: string
format: binary
application/octet-stream:
schema:
type: string
format: binary
tags:
- Expenses
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidExpenseExpenseUuidAttachment
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
type:
type: string
example: received_invoice
supplier_name:
type: string
example: 'Supplier s. r. o.'
supplier_identification_number:
type: string
example: '12345678'
document_number:
type: string
example: DF-2026-001
variable_symbol:
type: string
example: '2026001'
issued_on:
type: string
example: '2026-08-01'
delivered_on:
type: string
example: '2026-08-01'
due_on:
type: string
example: '2026-08-31'
paid_on:
type: string
example: null
nullable: true
category:
type: string
example: services
description:
type: string
example: 'Monthly services'
currency_3_code:
type: string
example: EUR
net_amount:
type: string
example: '100.00'
vat_amount:
type: string
example: '23.00'
total_amount:
type: string
example: '123.00'
payment_method:
type: string
example: bank_transfer
paid:
type: boolean
example: false
tax_deductible:
type: boolean
example: true
note:
type: string
example: null
nullable: true
status:
type: string
example: open
attachment:
type: string
example: null
nullable: true
e_invoice:
type: object
properties:
provider:
type: string
example: epostak
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
status:
type: string
example: acknowledged
received_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
acknowledged_at:
type: string
example: '2026-08-21T09:31:00.000000Z'
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
updated_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- Expenses
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: expenseUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/receipt':
post:
summary: 'Creates a receipt associated with an invoice'
operationId: createsAReceiptAssociatedWithAnInvoice
description: ''
parameters: []
responses:
200:
description: '`ReceiptResource`'
content:
application/json:
schema:
anyOf:
-
type: object
properties:
data:
$ref: '#/components/schemas/ReceiptResource'
required:
- data
-
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/receipt/{receiptUuid}':
delete:
summary: 'Deletes a receipt associated with an invoice'
operationId: deletesAReceiptAssociatedWithAnInvoice
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
anyOf:
-
type: object
properties:
message:
type: string
enum:
- 'Receipt deleted successfully'
required:
- message
-
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: receiptUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/receipts':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidReceipts
description: ''
parameters: []
responses:
200:
description: '`ReceiptCollectionResource`'
content:
application/json:
schema:
anyOf:
-
$ref: '#/components/schemas/ReceiptCollectionResource'
-
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/receipt/pdf':
get:
summary: 'Returns a streamed response with the receipt PDF for a receipt associated with an invoice'
operationId: returnsAStreamedResponseWithTheReceiptPDFForAReceiptAssociatedWithAnInvoice
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/receipts':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidReceipts
description: ''
parameters: []
responses:
200:
description: '`ReceiptCollectionResource`'
content:
application/json:
schema:
$ref: '#/components/schemas/ReceiptCollectionResource'
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/receipt':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidReceipt
description: ''
parameters: []
responses:
200:
description: '`ReceiptResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ReceiptResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Receipts
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
billed_to_client_id:
type: string
description: 'The id of an existing record in the clients table.'
example: architecto
invoice_id:
type: string
description: 'The id of an existing record in the invoices table.'
example: null
nullable: true
language_2_code:
type: string
description: 'Must be 2 characters.'
example: ng
nullable: true
total:
type: number
description: 'Must be at least 0.'
example: 12
currency_3_code:
type: string
description: 'Must be 3 characters.'
example: miy
purpose:
type: string
description: ''
example: architecto
nullable: true
made_by:
type: string
description: ''
example: architecto
nullable: true
approved_by:
type: string
description: ''
example: architecto
nullable: true
journal_number:
type: string
description: ''
example: architecto
nullable: true
billing_regulation:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
account:
type: string
description: 'This field is required when billing_regulation is present.'
example: architecto
total:
type: number
description: 'This field is required when billing_regulation is present. Must be at least 0.'
example: 39
date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
required:
- billed_to_client_id
- total
- currency_3_code
- date
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/receipt/{receiptUuid}':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidReceiptReceiptUuid
description: ''
parameters: []
responses:
200:
description: '`ReceiptResource`'
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ReceiptResource'
required:
- data
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidReceiptReceiptUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- 'Receipt updated successfully'
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
422:
$ref: '#/components/responses/ValidationException'
tags:
- Receipts
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
billed_to_client_id:
type: string
description: 'The id of an existing record in the clients table.'
example: architecto
language_2_code:
type: string
description: 'Must be 2 characters.'
example: ng
nullable: true
total:
type: number
description: 'Must be at least 0.'
example: 12
currency_3_code:
type: string
description: 'Must be 3 characters.'
example: miy
purpose:
type: string
description: ''
example: architecto
nullable: true
made_by:
type: string
description: ''
example: architecto
nullable: true
approved_by:
type: string
description: ''
example: architecto
nullable: true
journal_number:
type: string
description: ''
example: architecto
nullable: true
billing_regulation:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
account:
type: string
description: 'This field is required when billing_regulation is present.'
example: architecto
total:
type: number
description: 'This field is required when billing_regulation is present. Must be at least 0.'
example: 39
date:
type: string
description: 'Must be a valid date.'
example: '2026-09-13T15:45:26'
required:
- billed_to_client_id
- total
- currency_3_code
- date
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidReceiptReceiptUuid
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- 'Receipt deleted successfully'
required:
- message
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: receiptUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/receipt/{receiptUuid}/pdf':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidReceiptReceiptUuidPdf
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
401:
$ref: '#/components/responses/AuthenticationException'
tags:
- Receipts
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: receiptUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/public/documents/{token}':
get:
summary: 'Get a shared document.'
operationId: getASharedDocument
description: 'Resolves a valid public share token and records the visit.'
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company_name:
type: string
example: 'Example s. r. o.'
document_number:
type: string
example: FV20260001
document_type:
type: string
example: invoice
billed_date:
type: string
example: '2026-08-21'
due_date:
type: string
example: '2026-09-04'
currency:
type: string
example: EUR
total:
type: integer
example: 120
formats:
type: object
properties:
pdf:
type: string
example: 'https://fakturo.app/api/public/documents/example-token/pdf'
isdoc:
type: string
example: 'https://fakturo.app/api/public/documents/example-token/isdoc'
ubl:
type: string
example: 'https://fakturo.app/api/public/documents/example-token/ubl'
tags:
- 'Document Sharing'
security: []
parameters:
-
in: path
name: token
description: ''
example: architecto
required: true
schema:
type: string
'/api/public/documents/{token}/{format}':
get:
summary: 'Download a shared document file.'
operationId: downloadASharedDocumentFile
description: ''
parameters: []
responses:
200:
description: 'Binary file response'
content:
application/pdf:
schema:
type: string
format: binary
application/xml:
schema:
type: string
format: binary
application/octet-stream:
schema:
type: string
format: binary
tags:
- 'Document Sharing'
security: []
parameters:
-
in: path
name: token
description: ''
example: architecto
required: true
schema:
type: string
-
in: path
name: format
description: ''
example: pdf|pdfIsdoc|isdoc|ubl
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{documentUuid}/share':
get:
summary: 'Get share link statistics.'
operationId: getShareLinkStatistics
description: 'Returns the active share link and its visit history without creating a new link.'
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
active:
type: boolean
example: true
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
last_viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
share_url:
type: string
example: 'https://fakturo.app/share/example-token'
token:
type: string
example: example-token
views_count:
type: integer
example: 1
views:
type: array
example:
-
accept_language: 'sk-SK,sk;q=0.9'
ip_address: 203.0.113.10
referer: null
user_agent: Mozilla/5.0
viewed_at: '2026-08-21T10:15:00.000000Z'
items:
type: object
properties:
accept_language:
type: string
example: 'sk-SK,sk;q=0.9'
ip_address:
type: string
example: 203.0.113.10
referer:
type: string
example: null
nullable: true
user_agent:
type: string
example: Mozilla/5.0
viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
tags:
- 'Document Sharing'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceDocumentUuidShare
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
active:
type: boolean
example: true
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
last_viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
share_url:
type: string
example: 'https://fakturo.app/share/example-token'
token:
type: string
example: example-token
views_count:
type: integer
example: 1
views:
type: array
example:
-
accept_language: 'sk-SK,sk;q=0.9'
ip_address: 203.0.113.10
referer: null
user_agent: Mozilla/5.0
viewed_at: '2026-08-21T10:15:00.000000Z'
items:
type: object
properties:
accept_language:
type: string
example: 'sk-SK,sk;q=0.9'
ip_address:
type: string
example: 203.0.113.10
referer:
type: string
example: null
nullable: true
user_agent:
type: string
example: Mozilla/5.0
viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
tags:
- 'Document Sharing'
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidInvoiceDocumentUuidShare
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
active:
type: boolean
example: false
last_viewed_at:
type: string
example: null
nullable: true
views_count:
type: integer
example: 0
views:
type: array
example: []
tags:
- 'Document Sharing'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: documentUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/preinvoice/{documentUuid}/share':
get:
summary: 'Get share link statistics.'
operationId: getShareLinkStatistics
description: 'Returns the active share link and its visit history without creating a new link.'
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
active:
type: boolean
example: true
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
last_viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
share_url:
type: string
example: 'https://fakturo.app/share/example-token'
token:
type: string
example: example-token
views_count:
type: integer
example: 1
views:
type: array
example:
-
accept_language: 'sk-SK,sk;q=0.9'
ip_address: 203.0.113.10
referer: null
user_agent: Mozilla/5.0
viewed_at: '2026-08-21T10:15:00.000000Z'
items:
type: object
properties:
accept_language:
type: string
example: 'sk-SK,sk;q=0.9'
ip_address:
type: string
example: 203.0.113.10
referer:
type: string
example: null
nullable: true
user_agent:
type: string
example: Mozilla/5.0
viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
tags:
- 'Document Sharing'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPreinvoiceDocumentUuidShare
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
active:
type: boolean
example: true
created_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
last_viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
share_url:
type: string
example: 'https://fakturo.app/share/example-token'
token:
type: string
example: example-token
views_count:
type: integer
example: 1
views:
type: array
example:
-
accept_language: 'sk-SK,sk;q=0.9'
ip_address: 203.0.113.10
referer: null
user_agent: Mozilla/5.0
viewed_at: '2026-08-21T10:15:00.000000Z'
items:
type: object
properties:
accept_language:
type: string
example: 'sk-SK,sk;q=0.9'
ip_address:
type: string
example: 203.0.113.10
referer:
type: string
example: null
nullable: true
user_agent:
type: string
example: Mozilla/5.0
viewed_at:
type: string
example: '2026-08-21T10:15:00.000000Z'
tags:
- 'Document Sharing'
delete:
summary: ''
operationId: deleteApiUserCompanyCompanyUuidPreinvoiceDocumentUuidShare
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
active:
type: boolean
example: false
last_viewed_at:
type: string
example: null
nullable: true
views_count:
type: integer
example: 0
views:
type: array
example: []
tags:
- 'Document Sharing'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: documentUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/e-invoice/test-connection':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidEInvoiceTestConnection
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
connected:
type: boolean
example: true
provider:
type: string
example: epostak
tags:
- 'E-Invoice Transport'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/e-invoice/receive':
post:
summary: 'Check the configured provider and import newly received UBL invoices.'
operationId: checkTheConfiguredProviderAndImportNewlyReceivedUBLInvoices
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
provider:
type: string
example: epostak
discovered:
type: integer
example: 2
imported:
type: integer
example: 2
acknowledged:
type: integer
example: 2
skipped:
type: integer
example: 0
failed:
type: integer
example: 0
tags:
- 'E-Invoice Transport'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/e-invoice/send':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidInvoiceInvoiceUuidEInvoiceSend
description: ''
parameters: []
responses:
202:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
provider:
type: string
example: epostak
status:
type: string
example: accepted
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
attempts:
type: integer
example: 1
last_error:
type: string
example: null
nullable: true
sent_at:
type: string
example: '2026-09-01T10:00:00+00:00'
delivered_at:
type: string
example: null
nullable: true
last_checked_at:
type: string
example: '2026-09-01T10:00:00+00:00'
tags:
- 'E-Invoice Transport'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/invoice/{invoiceUuid}/e-invoice/status':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidInvoiceInvoiceUuidEInvoiceStatus
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
provider:
type: string
example: epostak
status:
type: string
example: accepted
provider_document_id:
type: string
example: bec4f875-996f-4794-b42e-8f3b5b2f1ba4
attempts:
type: integer
example: 1
last_error:
type: string
example: null
nullable: true
sent_at:
type: string
example: '2026-09-01T10:00:00+00:00'
delivered_at:
type: string
example: null
nullable: true
last_checked_at:
type: string
example: '2026-09-01T10:00:00+00:00'
tags:
- 'E-Invoice Transport'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: invoiceUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/payment-matching/settings':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPaymentMatchingSettings
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
enabled:
type: boolean
example: true
provider:
type: string
example: tatra_banka
configured:
type: boolean
example: true
imap_host:
type: string
example: imap.example.com
imap_port:
type: integer
example: 993
imap_encryption:
type: string
example: ssl
imap_validate_certificate:
type: boolean
example: true
imap_username:
type: string
example: payments@example.com
imap_folder:
type: string
example: INBOX
last_checked_at:
type: string
example: '2026-08-21T09:30:00+00:00'
last_error:
type: string
example: null
nullable: true
tags:
- 'Payment Matching'
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPaymentMatchingSettings
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
company_uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-abcdef123456
enabled:
type: boolean
example: true
provider:
type: string
example: tatra_banka
configured:
type: boolean
example: true
imap_host:
type: string
example: imap.example.com
imap_port:
type: integer
example: 993
imap_encryption:
type: string
example: ssl
imap_validate_certificate:
type: boolean
example: true
imap_username:
type: string
example: payments@example.com
imap_folder:
type: string
example: INBOX
last_checked_at:
type: string
example: '2026-08-21T09:30:00+00:00'
last_error:
type: string
example: null
nullable: true
tags:
- 'Payment Matching'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
enabled:
type: boolean
description: ''
example: false
provider:
type: string
description: ''
example: tatra_banka
enum:
- tatra_banka
imap_host:
type: string
description: 'Must not be greater than 255 characters.'
example: b
nullable: true
imap_port:
type: integer
description: 'Must be between 1 and 65535.'
example: 2
imap_encryption:
type: string
description: ''
example: ssl
enum:
- ssl
- tls
- none
imap_validate_certificate:
type: boolean
description: ''
example: false
imap_username:
type: string
description: 'Must not be greater than 255 characters.'
example: g
nullable: true
imap_password:
type: string
description: 'Must not be greater than 4096 characters.'
example: z
nullable: true
imap_folder:
type: string
description: 'Must not be greater than 255 characters.'
example: m
required:
- enabled
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/payment-matching/test-connection':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPaymentMatchingTestConnection
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
connected:
type: boolean
example: true
tags:
- 'Payment Matching'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/payment-matching/transactions':
get:
summary: ''
operationId: getApiUserCompanyCompanyUuidPaymentMatchingTransactions
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
current_page:
type: integer
example: 1
data:
type: array
example:
-
uuid: 018f1f47-7c8a-7d18-ae5e-123456789abc
provider: tatra_banka
external_id: 210826/123456-1
booked_at: '2026-08-21T09:25:00.000000Z'
account_iban: SK1111000000001234567890
amount: '120.00'
currency: EUR
variable_symbol: '20260001'
counterparty_account: 1100/000000-1234567890
counterparty_name: 'Example Client s. r. o.'
description: 'Platba 1100/000000-1234567890'
status: matched
matched_document_type: invoice
matched_document_id: 42
matched_at: '2026-08-21T09:30:00.000000Z'
items:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
provider:
type: string
example: tatra_banka
external_id:
type: string
example: 210826/123456-1
booked_at:
type: string
example: '2026-08-21T09:25:00.000000Z'
account_iban:
type: string
example: SK1111000000001234567890
amount:
type: string
example: '120.00'
currency:
type: string
example: EUR
variable_symbol:
type: string
example: '20260001'
counterparty_account:
type: string
example: 1100/000000-1234567890
counterparty_name:
type: string
example: 'Example Client s. r. o.'
description:
type: string
example: 'Platba 1100/000000-1234567890'
status:
type: string
example: matched
matched_document_type:
type: string
example: invoice
matched_document_id:
type: integer
example: 42
matched_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
first_page_url:
type: string
example: 'https://fakturo.app/api/user/company/example/payment-matching/transactions?page=1'
from:
type: integer
example: 1
last_page:
type: integer
example: 1
last_page_url:
type: string
example: 'https://fakturo.app/api/user/company/example/payment-matching/transactions?page=1'
links:
type: array
example: []
next_page_url:
type: string
example: null
nullable: true
path:
type: string
example: 'https://fakturo.app/api/user/company/example/payment-matching/transactions'
per_page:
type: integer
example: 50
prev_page_url:
type: string
example: null
nullable: true
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- 'Payment Matching'
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
'/api/user/company/{companyUuid}/payment-matching/transactions/{transactionUuid}/match':
post:
summary: ''
operationId: postApiUserCompanyCompanyUuidPaymentMatchingTransactionsTransactionUuidMatch
description: ''
parameters: []
responses:
200:
description: 'Successful response'
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
uuid:
type: string
example: 018f1f47-7c8a-7d18-ae5e-123456789abc
provider:
type: string
example: tatra_banka
external_id:
type: string
example: 210826/123456-1
booked_at:
type: string
example: '2026-08-21T09:25:00.000000Z'
account_iban:
type: string
example: SK1111000000001234567890
amount:
type: string
example: '120.00'
currency:
type: string
example: EUR
variable_symbol:
type: string
example: '20260001'
counterparty_account:
type: string
example: 1100/000000-1234567890
counterparty_name:
type: string
example: 'Example Client s. r. o.'
description:
type: string
example: 'Platba 1100/000000-1234567890'
status:
type: string
example: matched
matched_document_type:
type: string
example: invoice
matched_document_id:
type: integer
example: 42
matched_at:
type: string
example: '2026-08-21T09:30:00.000000Z'
tags:
- 'Payment Matching'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
document_type:
type: string
description: ''
example: invoice
enum:
- invoice
- pre_invoice
document_uuid:
type: string
description: 'Must be a valid UUID.'
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required:
- document_type
- document_uuid
parameters:
-
in: path
name: companyUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string
-
in: path
name: transactionUuid
description: ''
example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed
required: true
schema:
type: string