Agicap Proforma Invoices API
The Proforma Invoices API from Agicap — 2 operation(s) for proforma invoices.
The Proforma Invoices API from Agicap — 2 operation(s) for proforma invoices.
openapi: 3.0.0
info:
contact: {}
title: Clients AR Account reports Proforma Invoices API
version: v1
servers:
- url: https://api.agicap.com
- url: https://api.agicap.internal
tags:
- name: Proforma Invoices
paths:
/public/business-documents/v1/entities/{entityid}/connections/{connectionid}/proforma-invoices:
get:
operationId: ProformaInvoice_GetProformaInvoices
parameters:
- description: Agicap entity unique identifier
in: path
name: entityid
required: true
schema:
description: Agicap entity unique identifier
type: string
- description: The connection unique identifier
in: path
name: connectionid
required: true
schema:
description: The connection unique identifier
format: uuid
type: string
- description: Number of items per page (max 10 000)
in: query
name: pagesize
schema:
description: Number of items per page (max 10 000)
format: int32
type: integer
- description: Page index
in: query
name: pageindex
schema:
description: Page index
format: int32
type: integer
- description: Unique identifier of the document in the data source
explode: false
in: query
name: externalids
schema:
description: Unique identifier of the document in the data source
items:
type: string
type: array
style: form
- description: Will return only documents updated **after** this date
in: query
name: updatedsince
schema:
description: Will return only documents updated **after** this date
format: date-time
type: string
- description: 'Filter on status. Possible values : draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted'
explode: false
in: query
name: status
schema:
description: 'Filter on status. Possible values : draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted'
items:
type: string
type: array
style: form
responses:
'200':
content:
application/json:
example:
items:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
id: d062b351-99ac-413a-9bf9-509498499a18
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
pagination:
pageIndex: 1
pageItemsCount: 7
pageSize: 10
totalItemsCount: 7
schema:
$ref: '#/components/schemas/ProformaInvoiceDtoPageDto'
description: Proforma invoices
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
properties:
detail:
description: Details of the error
nullable: true
type: string
instance:
nullable: true
type: string
status:
description: Code status
nullable: true
type: integer
title:
description: Name of the error
nullable: true
type: string
type:
description: Type of error
nullable: true
type: string
type: object
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Get proforma invoices
tags:
- Proforma Invoices
post:
operationId: ProformaInvoice_CreateProformaInvoices
parameters:
- description: Agicap entity unique identifier
in: path
name: entityid
required: true
schema:
description: Agicap entity unique identifier
type: string
- description: The connection unique identifier
in: path
name: connectionid
required: true
schema:
description: The connection unique identifier
format: uuid
type: string
requestBody:
content:
application/*+json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/CreateProformaInvoiceDto'
type: array
application/json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/CreateProformaInvoiceDto'
type: array
text/json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/CreateProformaInvoiceDto'
type: array
responses:
'201':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/CreatedDocumentDto'
type: array
description: Ids of the created documents, associated with the provided external identifiers
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
properties:
detail:
description: Details of the error
nullable: true
type: string
instance:
nullable: true
type: string
status:
description: Code status
nullable: true
type: integer
title:
description: Name of the error
nullable: true
type: string
type:
description: Type of error
nullable: true
type: string
type: object
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Create proforma invoices
tags:
- Proforma Invoices
put:
operationId: ProformaInvoice_UpdateProformaInvoices
parameters:
- description: Agicap entity unique identifier
in: path
name: entityid
required: true
schema:
description: Agicap entity unique identifier
type: string
- description: The connection unique identifier
in: path
name: connectionid
required: true
schema:
description: The connection unique identifier
format: uuid
type: string
requestBody:
content:
application/*+json:
schema:
items:
$ref: '#/components/schemas/UpdateProformaInvoiceDto'
type: array
application/json:
schema:
items:
$ref: '#/components/schemas/UpdateProformaInvoiceDto'
type: array
text/json:
schema:
items:
$ref: '#/components/schemas/UpdateProformaInvoiceDto'
type: array
responses:
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
properties:
detail:
description: Details of the error
nullable: true
type: string
instance:
nullable: true
type: string
status:
description: Code status
nullable: true
type: integer
title:
description: Name of the error
nullable: true
type: string
type:
description: Type of error
nullable: true
type: string
type: object
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Update proforma invoices
tags:
- Proforma Invoices
/public/business-documents/v2/entities/{entityid}/connections/{connectionid}/proforma-invoices:
get:
operationId: ProformaInvoice_GetProformaInvoices
parameters:
- description: Agicap entity unique identifier
in: path
name: entityid
required: true
schema:
description: Agicap entity unique identifier
type: string
- description: The connection unique identifier
in: path
name: connectionid
required: true
schema:
description: The connection unique identifier
format: uuid
type: string
- description: Number of items per page (max 10 000)
in: query
name: pagesize
schema:
description: Number of items per page (max 10 000)
format: int32
type: integer
- description: Page index
in: query
name: pageindex
schema:
description: Page index
format: int32
type: integer
- description: Unique identifier of the document in the data source
explode: false
in: query
name: externalids
schema:
description: Unique identifier of the document in the data source
items:
type: string
type: array
style: form
- description: Will return only documents updated **after** this date
in: query
name: updatedsince
schema:
description: Will return only documents updated **after** this date
format: date-time
type: string
- description: 'Filter on status. Possible values : draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted'
explode: false
in: query
name: status
schema:
description: 'Filter on status. Possible values : draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted'
items:
type: string
type: array
style: form
responses:
'200':
content:
application/json:
example:
items:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
id: d062b351-99ac-413a-9bf9-509498499a18
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
pagination:
pageIndex: 1
pageItemsCount: 7
pageSize: 10
totalItemsCount: 7
schema:
$ref: '#/components/schemas/ProformaInvoiceDtoPageDto'
description: Proforma invoices
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
properties:
detail:
description: Details of the error
nullable: true
type: string
instance:
nullable: true
type: string
status:
description: Code status
nullable: true
type: integer
title:
description: Name of the error
nullable: true
type: string
type:
description: Type of error
nullable: true
type: string
type: object
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Get proforma invoices
tags:
- Proforma Invoices
post:
operationId: ProformaInvoice_CreateProformaInvoicesV2
parameters:
- description: Agicap entity unique identifier
in: path
name: entityid
required: true
schema:
description: Agicap entity unique identifier
type: string
- description: The connection unique identifier
in: path
name: connectionid
required: true
schema:
description: The connection unique identifier
format: uuid
type: string
requestBody:
content:
application/*+json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/CreateProformaInvoiceDtoV2'
type: array
application/json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/CreateProformaInvoiceDtoV2'
type: array
text/json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/CreateProformaInvoiceDtoV2'
type: array
responses:
'201':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/CreatedDocumentDto'
type: array
description: Ids of the created documents, associated with the provided external identifiers
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
properties:
detail:
description: Details of the error
nullable: true
type: string
instance:
nullable: true
type: string
status:
description: Code status
nullable: true
type: integer
title:
description: Name of the error
nullable: true
type: string
type:
description: Type of error
nullable: true
type: string
type: object
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Create proforma invoices
tags:
- Proforma Invoices
put:
operationId: ProformaInvoice_UpdateProformaInvoicesV2
parameters:
- description: Agicap entity unique identifier
in: path
name: entityid
required: true
schema:
description: Agicap entity unique identifier
type: string
- description: The connection unique identifier
in: path
name: connectionid
required: true
schema:
description: The connection unique identifier
format: uuid
type: string
requestBody:
content:
application/*+json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
id: d062b351-99ac-413a-9bf9-509498499a18
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/UpdateProformaInvoiceDtoV2'
type: array
application/json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
id: d062b351-99ac-413a-9bf9-509498499a18
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/UpdateProformaInvoiceDtoV2'
type: array
text/json:
example:
- amounts:
remainingAmount: 80
taxesAmount: 20
totalAmount: 200
counterParty:
id: id
name: counter party name
currency: EUR
dueDate: '2025-03-07T14:30:10+00:00'
erpIdentificationFields:
erp field 1: value 1
erp field 2: value 2
externalId: Some External Id
id: d062b351-99ac-413a-9bf9-509498499a18
issueDate: '2024-02-06T14:30:10+00:00'
label: proforma invoice label
metadata:
additional field: additional info
proformaInvoiceNumber: '00341001'
status: accepted
schema:
items:
$ref: '#/components/schemas/UpdateProformaInvoiceDtoV2'
type: array
responses:
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
properties:
detail:
description: Details of the error
nullable: true
type: string
instance:
nullable: true
type: string
status:
description: Code status
nullable: true
type: integer
title:
description: Name of the error
nullable: true
type: string
type:
description: Type of error
nullable: true
type: string
type: object
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Update proforma invoices
tags:
- Proforma Invoices
components:
schemas:
CreateProformaInvoiceDtoV2:
additionalProperties: false
properties:
amounts:
$ref: '#/components/schemas/AmountsWithRemainingAmountDtoV2'
counterParty:
$ref: '#/components/schemas/CounterPartyDtoV2'
currency:
description: Currency code in ISO 4217 format
minLength: 1
type: string
dueDate:
description: Due date in ISO 8601 format
format: date-time
type: string
erpIdentificationFields:
additionalProperties:
type: string
nullable: true
type: object
externalId:
description: Unique identifier of the document in the source data
minLength: 1
type: string
issueDate:
description: Issue date in ISO 8601 format
format: date-time
type: string
label:
description: Label of the document
nullable: true
type: string
metadata:
additionalProperties:
type: string
description: Additional metadata as a JSON Object
nullable: true
type: object
proformaInvoiceNumber:
description: Document number in the source data
minLength: 1
type: string
status:
description: 'Possible values : draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted'
minLength: 1
type: string
required:
- amounts
- counterParty
- currency
- dueDate
- externalId
- issueDate
- proformaInvoiceNumber
- status
title: CreateProformaInvoice
type: object
AmountsWithRemainingAmountDtoV2:
additionalProperties: false
properties:
remainingAmount:
description: Remaining amount in the document currency. (amount must be positive)
format: double
type: number
taxesAmount:
description: Taxes amount in the document currency (amount must be positive)
format: double
type: number
totalAmount:
description: Total amount in the document currency. (amount must be positive)
format: double
type: number
required:
- remainingAmount
- taxesAmount
- totalAmount
title: AmountsWithRemainingAmount
type: object
ProformaInvoiceDtoPageDto:
additionalProperties: false
properties:
items:
items:
$ref: '#/components/schemas/ProformaInvoiceDto'
type: array
pagination:
$ref: '#/components/schemas/PaginationMetadataDto'
title: Page
type: object
AmountsWithRemainingAmountDto:
additionalProperties: false
properties:
remainingAmount:
description: Remaining amount in the document currency.
format: double
nullable: true
type: number
taxesAmount:
description: Taxes amount in the document currency
format: double
nullable: true
type: number
totalAmount:
description: Total amount in the document currency.
format: double
type: number
required:
- totalAmount
title: AmountsWithRemainingAmount
type: object
CreateProformaInvoiceDto:
additionalProperties: false
properties:
amounts:
$ref: '#/components/schemas/AmountsWithRemainingAmountDto'
counterParty:
$ref: '#/components/schemas/CounterPartyDto'
currency:
description: Currency code in ISO 4217 format
minLength: 1
type: string
dueDate:
description: Due date in ISO 8601 format
format: date-time
nullable: true
type: string
erpIdentificationFields:
additionalProperties:
type: string
nullable: true
type: object
externalId:
description: Unique identifier of the document in the source data
minLength: 1
type: string
issueDate:
description: Issue date in ISO 8601 format
format: date-time
nullable: true
type: string
label:
description: Label of the document
nullable: true
type: string
metadata:
additionalProperties:
type: string
description: Additional metadata as a JSON Object
nullable: true
type: object
proformaInvoiceNumber:
description: Document number in the source data
nullable: true
type: string
status:
description: 'Possible values : draft, sent, accepted, refused, expired, partiallyinvoiced, invoiced, cancelled, deleted'
minLength: 1
type: string
required:
- amounts
- currency
- externalId
- status
title: CreateProformaInvoice
type: object
UpdateProformaInvoiceDtoV2:
additionalProperties: false
properties:
amounts:
$ref: '#/components/schemas/AmountsWithRemainingAmountDtoV2'
counterParty:
$ref: '#/components/schemas/CounterPartyDtoV2'
currency:
description: Currency code in ISO 4217 format
minLength: 1
type: string
dueDate:
description: Due date in ISO 8601 format
format: date-time
type: string
erpIdentificationFields:
additionalProperties:
type: string
nullable: true
type: object
externalId:
description: Unique identifier of the document in the source data
minLength: 1
type: string
id:
description: Unique identifier generated by Agicap
format: uuid
type: string
issueDate:
description: Issue date in ISO 8601 format
format: date-time
type: string
label:
description: Label of the document
nullable: true
type: string
metadata:
additionalProperties:
type: string
description: Additional metadata as a JSON Object
nullable: true
type: object
proformaInv
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/agicap/refs/heads/main/openapi/agicap-proforma-invoices-api-openapi.yml