Invoice

Get A Resource By ID

HTTP Request

GET /api/v1/invoice/{id}

📋 Description: Returns the single resource with the given ID.

Parameters

Name

In

Type

Required

Description

id

path

integer(int64)

true

Resource ID

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Update A Resource

HTTP Request

PUT /api/v1/invoice/{id}

📋 Description: Fully replaces the resource with the given ID. All fields in the request body are applied.

Parameters

Name

In

Type

Required

Description

id

path

integer(int64)

true

Resource ID

body

body

InvoiceDto

true

Request body containing the updated invoice details, including line items, amounts, and any applicable adjustments.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Delete A Single Resource

HTTP Request

DELETE /api/v1/invoice/{id}

📋 Description: Permanently deletes the resource with the given ID.

Parameters

Name

In

Type

Required

Description

id

path

integer(int64)

true

Unique identifier for the resource

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseVoid

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Partially Update A Resource (Json Patch)

HTTP Request

PATCH /api/v1/invoice/{id}

📋 Description: Applies a JSON Patch (RFC 6902) document to the resource with the given ID. Only the fields specified in the patch are modified; all other fields remain unchanged.

Parameters

Name

In

Type

Required

Description

id

path

integer(int64)

true

Unique identifier for the resource

body

body

JsonPatch

true

Request body containing the updated invoice details, including fields such as amount, due date, and status for effective invoice management.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Create Or Update A Resource

HTTP Request

PUT /api/v1/invoice/createOrUpdate

📋 Description: Creates the resource if no matching record exists, or fully updates it if one is found. Idempotent: safe to call multiple times with the same payload.

Parameters

Name

In

Type

Required

Description

body

body

InvoiceDto

true

Request body containing invoice details, including line items, amounts, and customer information for creating or updating an invoice.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Bulk Create-Or-Update Resources

HTTP Request

PUT /api/v1/invoice/createOrUpdate/bulk

📋 Description: Creates or updates multiple resources in a single request. Partial success: each item is processed independently. Items that pass validation are persisted; failed items are recorded in the response errors list. The response body always contains the successfully processed items alongside any per-item errors.

Parameters

Name

In

Type

Required

Description

body

body

InvoiceDto

true

Request body containing an array of invoice objects, each with relevant details for creating or updating multiple invoices in bulk.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseListInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Bulk-Update Resources

HTTP Request

PUT /api/v1/invoice/bulk

📋 Description: Updates multiple resources in a single request. Partial success: each item is processed independently. Items that pass validation are updated; failed items are recorded in the response errors list. The response body always contains the successfully updated items alongside any per-item errors.

Parameters

Name

In

Type

Required

Description

body

body

InvoiceDto

true

Request body containing an array of invoice objects, each including details such as invoice ID, amount, and status for bulk processing and updates.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseListInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Bulk-Create Resources

HTTP Request

POST /api/v1/invoice/bulk

📋 Description: Creates multiple resources in a single request. Partial success: each item is processed independently. Items that pass validation are persisted; failed items are recorded in the response errors list. The response body always contains the successfully created items alongside any per-item errors.

Parameters

Name

In

Type

Required

Description

body

body

InvoiceDto

true

Request body containing an array of invoice data, including details such as amounts, client information, and associated metadata for bulk processing.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseListInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Bulk-Delete Resources

HTTP Request

DELETE /api/v1/invoice/bulk

📋 Description: Deletes multiple resources by ID in a single request. Partial success: each deletion is attempted independently. If one or more deletions fail (e.g. due to state constraints), the successfully deleted items are NOT rolled back. A ValidationException containing per-item errors is thrown after all items have been attempted, so the caller must inspect the error list to determine which IDs were not deleted.

Parameters

Name

In

Type

Required

Description

body

body

array[integer]

true

Request body containing an array of invoice IDs to be deleted in bulk from the system.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseVoid

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Add Invoices To The Current User’S Default Workspace

HTTP Request

PUT /api/v1/invoice/add-to-default-workspace

📋 Description: Adds all specified Approved invoices to the authenticated user’s default (Open) workspace. A new workspace is created automatically if none exists. Returns a result object describing which invoices were added and which were skipped.

Parameters

Name

In

Type

Required

Description

body

body

array[integer]

true

Request body containing the invoice details to be added to the default workspace, including relevant identifiers and financial information.

Responses

Status

Meaning

Description

Schema

200

OK

OK

AddingInvoicesToWorkspaceResult

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

List All Resources

HTTP Request

GET /api/v1/invoice

📋 Description: Returns a paginated list of all accessible resources ordered by ID. Prefer POST /search for filtered queries.

Parameters

Name

In

Type

Required

Description

pageable

query

Pageable

true

Indicates whether the results of the invoice retrieval should be paginated, allowing for efficient handling of large datasets.

Responses

Status

Meaning

Description

Schema

200

OK

OK

PageInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Create A Resource

HTTP Request

POST /api/v1/invoice

📋 Description: Creates a single resource. Returns the created resource with its generated ID.

Parameters

Name

In

Type

Required

Description

body

body

InvoiceDto

true

Request body containing the invoice details, including line items, amounts, and customer information for processing billing transactions.

Responses

Status

Meaning

Description

Schema

200

OK

OK

ResponseInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Unmark An Invoice As Favourite

HTTP Request

POST /api/v1/invoice/{invoiceId}/remove-from-favorite

📋 Description: Unmark an invoice as favourite

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Unique identifier for the invoice

Responses

Status

Meaning

Description

Schema

200

OK

OK

FavouriteModel

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Mark An Invoice As Favourite

HTTP Request

POST /api/v1/invoice/{invoiceId}/add-to-favorite

📋 Description: Mark an invoice as favourite

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Unique identifier for the invoice

Responses

Status

Meaning

Description

Schema

200

OK

OK

FavouriteModel

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Search Resources

HTTP Request

POST /api/v1/invoice/search

📋 Description: Returns a paginated list of resources matching the given filter criteria. Pass null or an empty body to return all accessible records.

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Zero-based page index (0..N)

size

query

integer

false

The size of the page to be returned

sort

query

array[string]

false

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

body

body

InvoiceDtoFilter

false

Request body containing search criteria for invoices, including parameters such as date range, status, and customer details to facilitate targeted retrieval.

Default Values

Parameter

Default

Type

page

0

query

size

100

query

sort

["CREATED_AT,ASC"]

query

Parameter Constraints

Parameter

Constraints

page

Min: 0

size

Min: 1

Responses

Status

Meaning

Description

Schema

200

OK

OK

PageInvoiceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Upload Documents To An Invoice

HTTP Request

POST /api/v1/invoice/document/upload

📋 Description: Attaches one or more files to the specified invoice. Accepted file types and size limits are enforced server-side.

Parameters

Name

In

Type

Required

Description

entityId

query

integer(int64)

true

Unique identifier for the entity

files

query

array[string]

false

Array of document files to be uploaded as part of the invoice submission process.

Responses

Status

Meaning

Description

Schema

200

OK

Upload result; includes per-file success/failure details

MultipleUploadResult

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Search Documents Attached To Invoices

HTTP Request

POST /api/v1/invoice/document/search

📋 Description: Returns a paginated list of document references matching the supplied filter.

Parameters

Name

In

Type

Required

Description

body

body

object

true

Request body containing search criteria and filters for retrieving invoice documents based on specified parameters.

» filter

body

DocumentReferenceDtoFilter

false

Data transfer object representing the criteria for filtering document references, enabling users to efficiently retrieve and manage relevant documents within the system.

»» idIn

body

[integer]

false

Filter by multiple values of id

»» idEqual

body

integer(int64)

false

Filter by exact match of id

»» idLike

body

string

false

Filter by partial match of id

»» createdAtGreaterThanOrEqual

body

string(date-time)

false

Filter where created at is greater than or equal to specified value

»» createdAtLessThanOrEqual

body

string(date-time)

false

Filter where created at is less than or equal to specified value

»» createdByLike

body

string

false

Filter by partial match of created by

»» createdByEqual

body

string

false

Filter by exact match of created by

»» modifiedAtGreaterThanOrEqual

body

string(date-time)

false

Filter where modified at is greater than or equal to specified value

»» modifiedAtLessThanOrEqual

body

string(date-time)

false

Filter where modified at is less than or equal to specified value

»» modifiedByLike

body

string

false

Filter by partial match of modified by

»» modifiedByEqual

body

string

false

Filter by exact match of modified by

»» documentIdIn

body

[integer]

false

Filter by multiple values of document id

»» documentIdEqual

body

integer(int64)

false

Filter by exact match of document id

»» entityIdIn

body

[integer]

false

Filter by multiple values of entity id

»» entityIdEqual

body

integer(int64)

false

Filter by exact match of entity id

»» entityTypeIn

body

[string]

false

Filter by multiple values of entity type

»» entityTypeEqual

body

string

false

Filter by exact match of entity type

»» filenameLike

body

string

false

Filter by partial match of filename

» pageable

body

Pageable

false

Data transfer object representing a paginated collection of results, enabling efficient navigation and retrieval of large datasets within the API. This schema supports enhanced user experience by facilitating organized data presentation and management.

»» page

body

integer(int32)

false

Page number for pagination

»» size

body

integer(int32)

false

Number of items per page

»» sort

body

[string]

false

Sort order specification

Enumerated Values

Attribute

Value

»» entityTypeEqual

GOODS_RECEIPT, INVOICE, PURCHASE_ORDER, PURCHASE_REQUISITION, WORKSPACE

»» entityTypeIn

GOODS_RECEIPT, INVOICE, PURCHASE_ORDER, PURCHASE_REQUISITION, WORKSPACE

Parameter Constraints

Parameter

Constraints

»» page

Min: 0

»» size

Min: 1

Responses

Status

Meaning

Description

Schema

200

OK

OK

PageDocumentDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Get The Workspace That Currently Holds An Invoice

HTTP Request

GET /api/v1/invoice/{invoiceId}/workspace

📋 Description: Returns the workspace that the specified invoice is currently assigned to, or 404 if the invoice is not linked to any workspace.

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Unique identifier for the invoice

Responses

Status

Meaning

Description

Schema

200

OK

OK

WorkspaceDto

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Get Workflow State History For An Invoice

HTTP Request

GET /api/v1/invoice/{invoiceId}/state-history

📋 Description: Returns the ordered list of state transitions the invoice has gone through, each with timestamp and actor information.

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Unique identifier for the invoice

Responses

Status

Meaning

Description

Schema

200

OK

OK

Inline

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[InvoiceStateHistoryDto]

false

none

[Data transfer object representing the historical states of an invoice, capturing key status changes and associated metadata to facilitate tracking and reporting within the invoicing process.]

» id

integer(int64)

false

none

Unique identifier for the resource

» success

boolean

false

none

Indicates whether the invoice state transition was successful, providing essential feedback for tracking invoice processing outcomes.

» failedMessage

string

false

none

Describes the reason for the failure of an invoice processing attempt, providing insight into issues that may require resolution.

» warningMessage

string

false

none

Contains a message that provides warnings related to the invoice state, aiding in the identification of potential issues during invoice processing.

» fromState

string

false

none

Represents the initial state of the invoice in the state history, providing insight into its progression through various stages.

» event

string

false

none

Represents the specific event associated with the invoice state change, providing essential context for tracking invoice status transitions.

» comment

string

false

none

Textual feedback or notes associated with the invoice state change, providing context for the historical record.

» invoiceId

integer(int64)

false

none

Unique identifier for the invoice

Check Whether An Invoice Is Marked As Favourite By The Current User

HTTP Request

GET /api/v1/invoice/{invoiceId}/is-favorite

📋 Description: Check whether an invoice is marked as favourite by the current user

Parameters

Name

In

Type

Required

Description

invoiceId

path

integer(int64)

true

Unique identifier for the invoice

Responses

Status

Meaning

Description

Schema

200

OK

OK

boolean

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Get Recently Viewed Invoices For The Current User

HTTP Request

GET /api/v1/invoice/recents

📋 Description: Get recently viewed invoices for the current user

Responses

Status

Meaning

Description

Schema

200

OK

OK

Inline

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[RecentModel]

false

none

[Data transfer object representing the most recent model utilized in predictive analytics, encapsulating key attributes and performance metrics to support informed decision-making in business strategy.]

» internalId

string

false

none

Unique identifier for the internal

» foreignId

string

false

none

Unique identifier for the foreign

» objectType

string

false

none

Type of the object

» recentType

string

false

none

Type of the recent

» username

string

false

none

Represents the unique identifier for a user within the system, facilitating user management and authentication processes.

» lastAccess

string(date-time)

false

none

Timestamp indicating the most recent access to the resource, facilitating tracking of user engagement and system utilization.

Enumerated Values

Attribute

Value

recentType

APPROVED, CLOSED, MODIFIED, VIEWED

Get All Invoices Marked As Favourite By The Current User

HTTP Request

GET /api/v1/invoice/favorites

📋 Description: Get all invoices marked as favourite by the current user

Responses

Status

Meaning

Description

Schema

200

OK

OK

Inline

409

Conflict

Payment amount exceeds remaining invoice balance

InvoicePaymentBalanceConflictDto

502

Bad Gateway

Downstream service call failed

PayableErrorDto

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[FavouriteModel]

false

none

[Data transfer object representing a user’s preferred items within the application, facilitating personalized experiences and enhancing user engagement.]

» internalId

string

false

none

Unique identifier for the internal

» foreignId

string

false

none

Unique identifier for the foreign

» objectType

string

false

none

Type of the object

» username

string

false

none

Represents the unique username associated with a user in the system, facilitating user identification and access management.

» sequenceNumber

integer(int32)

false

none

Sequential identifier for the favorite items, ensuring a consistent order within the user’s preferences.

» createdAt

string(date-time)

false

none

Timestamp when this resource was created