Agicap Invoice Flows API
The Invoice Flows API from Agicap — 4 operation(s) for invoice flows.
The Invoice Flows API from Agicap — 4 operation(s) for invoice flows.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/agicap-invoice-flows-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
contact: {}
title: Clients AR Account reports Invoice Flows API
version: v1
servers:
- url: https://api.agicap.com
- url: https://api.agicap.internal
tags:
- name: Invoice Flows
paths:
/public/einvoicing/v1/flows:
post:
description: 'A flow is a single-invoice file, with:
- an XML/PDF file with the data of the invoice
The flow is created with a FlowInfo object, allowing to qualify the flow.
A flow can be:
- an invoice (CII, UBL, Factur-X, JsonInvoice...)
- a lifecycle (CDAR)
- or an e-reporting file'
operationId: CreateFlow
parameters:
- in: query
name: flowInfo
required: true
schema:
$ref: '#/components/schemas/FlowInfo'
- in: header
name: Request-Id
schema:
format: uuid
type: string
- description: 'Allowed values: Production, Sandbox. Defaults to Production when not specified.'
in: header
name: X-FlowMode
schema:
type: string
requestBody:
content:
multipart/form-data:
encoding:
file:
style: form
schema:
properties:
file:
format: binary
type: string
type: object
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/FullFlowInfo'
text/json:
schema:
$ref: '#/components/schemas/FullFlowInfo'
text/plain:
schema:
$ref: '#/components/schemas/FullFlowInfo'
description: 'OK - Response message once the flow has been uploaded. '
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 400 : Bad request.'
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Error 500 : Server Internal Error.'
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 503 : Unavailable Resource.'
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Create a flow
tags:
- Invoice Flows
/public/einvoicing/v1/flows/json/validate:
post:
description: This allows to validate the JSON invoice before uploading it.
operationId: ValidateJsonFlow
parameters:
- in: query
name: country
schema:
$ref: '#/components/schemas/ValidationCountry'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PivotInvoice'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AcknowledgementResult'
text/json:
schema:
$ref: '#/components/schemas/AcknowledgementResult'
text/plain:
schema:
$ref: '#/components/schemas/AcknowledgementResult'
description: 'OK - Response message once the flow has been validated. '
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: An internal server occurred.
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Validate a JSON invoice.
tags:
- Invoice Flows
/public/einvoicing/v1/flows/search:
post:
description: "Retrieves a set of flows matching the provided search criteria: \n- When setting flowId, do not specify other criteria \n- Need at least one criterion to be specified \n- Assuming a logical AND when combining criteria \n- Assuming a logical OR for criteria allowing a list of values\n\nPagination works with pages: \n- In the request, provide the page to be returned \n- In the response, the total count of items"
operationId: SearchFlow
parameters:
- in: header
name: Request-Id
schema:
format: uuid
type: string
requestBody:
content:
application/json:
example:
limit: 25
offset: 0
where:
ackStatus: Ok
electronicAddress: 0225:123456789
flowDirection: Out
flowId: 019f7277-202e-78a9-aacc-2b9b519c0458
flowMode: Production
flowType: CustomerInvoice
trackingId: 019f7277-202e-79d2-81e4-0880c309eec3
updatedAfter: '2026-07-17T23:43:57.4867414Z'
updatedBefore: '2026-07-17T23:43:57.4867419Z'
schema:
$ref: '#/components/schemas/SearchFlowParams'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchFlowContent'
text/json:
schema:
$ref: '#/components/schemas/SearchFlowContent'
text/plain:
schema:
$ref: '#/components/schemas/SearchFlowContent'
description: 'OK - Response message when returning the results of a search request. - Holds all the results if code is 200 - Holds partial content if code is 206 '
'206':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchFlowContent'
text/json:
schema:
$ref: '#/components/schemas/SearchFlowContent'
text/plain:
schema:
$ref: '#/components/schemas/SearchFlowContent'
description: 'OK - Response message when returning the results of a search request. - Holds all the results if code is 200 - Holds partial content if code is 206 '
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 400 : Bad request.'
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Error 500 : Server Internal Error.'
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 503 : Unavailable Resource.'
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Select flows upon criteria
tags:
- Invoice Flows
/public/einvoicing/v1/flows/{flowId}:
get:
description: 'Download a file related to a given flow:
- an invoice
- a life cycle
- an e-reporting'
operationId: GetFlow
parameters:
- description: Flow identifier
in: path
name: flowId
required: true
schema:
format: uuid
type: string
- description: 'This parameter allows to provide the type of file to be uploaded, can be either one:
- Original: the document that has been initially sent/provided by the emitter
- Converted: the document that has been optionally converted by the system
- ReadableView: the document that has been optionally generated as the readable file
- Attachment: one of the attached documents, provide the optional index if needed'
in: query
name: docType
schema:
$ref: '#/components/schemas/FlowDocType'
- description: If docType is an Attachment and in case there are several attached documents, it says which one to address
in: query
name: docIndex
schema:
format: int32
type: integer
- description: If docType is Converted, it says in which format to convert. By default, it is Json
in: query
name: docFormat
schema:
$ref: '#/components/schemas/FlowDocFormat'
responses:
'200':
content:
application/json: {}
application/pdf: {}
application/xml: {}
description: Ok
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 400 : Bad request.'
'401':
description: Unauthorized request.
'403':
description: Forbidden request.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 404 : Resource Not Found.'
'429':
description: Too many requests. Please try again later.
'500':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
description: 'Error 500 : Server Internal Error.'
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
$ref: '#/components/schemas/Error'
description: 'Error 503 : Unavailable Resource.'
security:
- bearer_client_credentials:
- agicap:public-api
- bearer_client_credentials:
- agicap:public-api
- bearerAuth: []
summary: Download a flow
tags:
- Invoice Flows
components:
schemas:
BuyerAgentAddress:
additionalProperties: false
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
addressLine3:
type:
- string
- 'null'
city:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
region:
type:
- string
- 'null'
type: object
InvoicePayerAddress:
additionalProperties: false
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
addressLine3:
type:
- string
- 'null'
city:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
region:
type:
- string
- 'null'
type: object
InvoicePayerContact:
additionalProperties: false
properties:
email:
type:
- string
- 'null'
name:
type:
- string
- 'null'
telephone:
type:
- string
- 'null'
type: object
AcknowledgementDetailResult:
additionalProperties: false
properties:
businessTermCode:
type:
- string
- 'null'
businessTermLabelFr:
type:
- string
- 'null'
fixHintFr:
type:
- string
- 'null'
item:
type:
- string
- 'null'
level:
$ref: '#/components/schemas/Level'
reasonCode:
minLength: 1
type: string
reasonMessage:
minLength: 1
type: string
reasonMessageFr:
type:
- string
- 'null'
ruleCode:
type:
- string
- 'null'
sourcePath:
type:
- string
- 'null'
required:
- level
- reasonCode
- reasonMessage
type: object
SellerAgentContact:
additionalProperties: false
properties:
email:
type:
- string
- 'null'
name:
type:
- string
- 'null'
telephone:
type:
- string
- 'null'
type: object
TaxBreakdown:
additionalProperties: false
properties:
exemptionReason:
type:
- string
- 'null'
exemptionReasonCode:
type:
- string
- 'null'
taxAmount:
format: double
type:
- number
- 'null'
taxCategoryCode:
type:
- string
- 'null'
taxRate:
format: double
type:
- number
- 'null'
taxableAmount:
format: double
type:
- number
- 'null'
type: object
LineCharge:
additionalProperties: false
properties:
baseAmount:
format: double
type:
- number
- 'null'
multiplierFactor:
format: double
type:
- number
- 'null'
reason:
type:
- string
- 'null'
reasonCode:
type:
- string
- 'null'
taxExclusiveAmount:
format: double
type:
- number
- 'null'
type: object
FlowDirection:
additionalProperties: false
enum:
- In
- Out
type: string
Invoicee:
additionalProperties: false
properties:
address:
$ref: '#/components/schemas/InvoiceeAddress'
businessName:
type:
- string
- 'null'
contact:
$ref: '#/components/schemas/InvoiceeContact'
electronicAddress:
type:
- string
- 'null'
identifier:
items:
type: string
type:
- array
- 'null'
legalRegistrationId:
type:
- string
- 'null'
registrationName:
type:
- string
- 'null'
roleCode:
type:
- string
- 'null'
vatId:
type:
- string
- 'null'
type: object
ExtBillingService:
additionalProperties: false
properties:
address:
$ref: '#/components/schemas/BillingServiceAddress'
businessName:
type:
- string
- 'null'
contact:
$ref: '#/components/schemas/BillingServiceContact'
electronicAddress:
type:
- string
- 'null'
identifier:
items:
type: string
type:
- array
- 'null'
legalRegistrationId:
type:
- string
- 'null'
registrationName:
type:
- string
- 'null'
roleCode:
type:
- string
- 'null'
vatId:
type:
- string
- 'null'
type: object
TransferAccount:
additionalProperties: false
properties:
accountId:
type:
- string
- 'null'
bankId:
type:
- string
- 'null'
name:
type:
- string
- 'null'
type: object
FlowType:
additionalProperties: false
enum:
- CustomerInvoice
- SupplierInvoice
- CustomerInvoiceLC
- SupplierInvoiceLC
- TransactionReport
- PaymentReport
type: string
Allowance:
additionalProperties: false
properties:
baseAmount:
format: double
type:
- number
- 'null'
multiplierFactor:
format: double
type:
- number
- 'null'
reason:
type:
- string
- 'null'
reasonCode:
type:
- string
- 'null'
taxCategoryCode:
type:
- string
- 'null'
taxExclusiveAmount:
format: double
type:
- number
- 'null'
taxRate:
format: double
type:
- number
- 'null'
type: object
Error:
additionalProperties: false
properties:
errorCode:
minLength: 1
type: string
errorMessage:
type:
- string
- 'null'
required:
- errorCode
type: object
Delivery:
additionalProperties: false
properties:
actualDeliveryDate:
type:
- string
- 'null'
address:
$ref: '#/components/schemas/DeliveryAddress'
locationId:
type:
- string
- 'null'
name:
type:
- string
- 'null'
type: object
Level:
additionalProperties: false
enum:
- Error
- Warning
type: string
Totals:
additionalProperties: false
properties:
allowances:
format: double
type:
- number
- 'null'
charges:
format: double
type:
- number
- 'null'
dueAmount:
format: double
type:
- number
- 'null'
lineNetAmounts:
format: double
type:
- number
- 'null'
paidAmount:
format: double
type:
- number
- 'null'
roundingAmount:
format: double
type:
- number
- 'null'
taxAmount:
format: double
type:
- number
- 'null'
taxAmountInAccountingCurrency:
format: double
type:
- number
- 'null'
taxExclusiveAmount:
format: double
type:
- number
- 'null'
taxInclusiveAmount:
format: double
type:
- number
- 'null'
type: object
ProblemDetails:
additionalProperties: false
properties:
detail:
type:
- string
- 'null'
instance:
type:
- string
- 'null'
status:
format: int32
type:
- integer
- 'null'
title:
type:
- string
- 'null'
type:
type:
- string
- 'null'
type: object
SearchFlowParams:
additionalProperties: false
properties:
limit:
format: int32
type: integer
offset:
format: int32
type: integer
where:
$ref: '#/components/schemas/SearchFlowFilters'
required:
- where
type: object
BuyerContact:
additionalProperties: false
properties:
email:
type:
- string
- 'null'
name:
type:
- string
- 'null'
telephone:
type:
- string
- 'null'
type: object
FlowProfile:
additionalProperties: false
enum:
- Basic
- CIUS
- Extended-CTC-FR
type: string
FlowInfo:
additionalProperties: false
properties:
entityId:
format: int32
type: integer
flowProfile:
$ref: '#/components/schemas/FlowProfile'
flowSyntax:
$ref: '#/components/schemas/FlowSyntax'
name:
type:
- string
- 'null'
processingRule:
$ref: '#/components/schemas/ProcessingRule'
sha256:
pattern: ^[a-f0-9]{64}$
type:
- string
- 'null'
trackingId:
type:
- string
- 'null'
required:
- entityId
- flowSyntax
type: object
Seller:
additionalProperties: false
properties:
address:
$ref: '#/components/schemas/SellerAddress'
businessName:
type:
- string
- 'null'
companyLegalForm:
type:
- string
- 'null'
contact:
$ref: '#/components/schemas/SellerContact'
electronicAddress:
type:
- string
- 'null'
identifier:
items:
type: string
type:
- array
- 'null'
legalRegistrationId:
type:
- string
- 'null'
registrationName:
type:
- string
- 'null'
vatId:
type:
- string
- 'null'
type: object
ProcessingRule:
additionalProperties: false
enum:
- B2B
- B2BInt
- B2C
type: string
Line:
additionalProperties: false
properties:
accountingCost:
type:
- string
- 'null'
allowances:
items:
$ref: '#/components/schemas/LineAllowance'
type:
- array
- 'null'
charges:
items:
$ref: '#/components/schemas/LineCharge'
type:
- array
- 'null'
invoicedQuantity:
format: double
type:
- number
- 'null'
item:
$ref: '#/components/schemas/Item'
lineId:
type:
- string
- 'null'
lineNetAmount:
format: double
type:
- number
- 'null'
linePeriod:
$ref: '#/components/schemas/InvoicingPeriod'
note:
type:
- string
- 'null'
objectReference:
type:
- string
- 'null'
purchaseOrderLineReference:
type:
- string
- 'null'
purchaseOrderReference:
type:
- string
- 'null'
unitOfMeasure:
type:
- string
- 'null'
type: object
DirectDebit:
additionalProperties: false
properties:
creditorIdentifier:
type:
- string
- 'null'
debitedAccountIdentifier:
type:
- string
- 'null'
mandateReference:
type:
- string
- 'null'
type: object
Buyer:
additionalProperties: false
properties:
address:
$ref: '#/components/schemas/BuyerAddress'
businessName:
type:
- string
- 'null'
contact:
$ref: '#/components/schemas/BuyerContact'
electronicAddress:
type:
- string
- 'null'
identifier:
items:
type: string
type:
- array
- 'null'
legalRegistrationId:
type:
- string
- 'null'
registrationName:
type:
- string
- 'null'
vatId:
type:
- string
- 'null'
type: object
SellerAddress:
additionalProperties: false
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
addressLine3:
type:
- string
- 'null'
city:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
region:
type:
- string
- 'null'
type: object
LineAllowance:
additionalProperties: false
properties:
baseAmount:
format: double
type:
- number
- 'null'
multiplierFactor:
format: double
type:
- number
- 'null'
reason:
type:
- string
- 'null'
reasonCode:
type:
- string
- 'null'
taxExclusiveAmount:
format: double
type:
- number
- 'null'
type: object
PayeeAddress:
additionalProperties: false
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
addressLine3:
type:
- string
- 'null'
city:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
region:
type:
- string
- 'null'
type: object
Item:
additionalProperties: false
properties:
attributes:
items:
$ref: '#/components/schemas/ItemAttribute'
type:
- array
- 'null'
basePriceQuantity:
format: double
type:
- number
- 'null'
basePriceQuantityUnit:
type:
- string
- 'null'
buyersItemIdentification:
type:
- string
- 'null'
commodityClassificationCode:
type:
- string
- 'null'
description:
type:
- string
- 'null'
grossPrice:
format: double
type:
- number
- 'null'
name:
type:
- string
- 'null'
netAmount:
format: double
type:
- number
- 'null'
originCountryCode:
type:
- string
- 'null'
priceDiscount:
format: double
type:
- number
- 'null'
sellersItemIdentification:
type:
- string
- 'null'
standardItemIdentification:
type:
- string
- 'null'
taxCategoryCode:
type:
- string
- 'null'
taxRate:
format: double
type:
- number
- 'null'
type: object
BuyerAgentContact:
additionalProperties: false
properties:
email:
type:
- string
- 'null'
name:
type:
- string
- 'null'
telephone:
type:
- string
- 'null'
type: object
Charge:
additionalProperties: false
properties:
baseAmount:
format: double
type:
- number
- 'null'
multiplierFactor:
format: double
type:
- number
- 'null'
reason:
type:
- string
- 'null'
reasonCode:
type:
- string
- 'null'
taxCategoryCode:
type:
- string
- 'null'
taxExclusiveAmount:
format: double
type:
- number
- 'null'
taxRate:
format: double
type:
- number
- 'null'
type: object
BuyerAddress:
additionalProperties: false
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
addressLine3:
type:
- string
- 'null'
city:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
postalCode:
type:
- string
- 'null'
region:
type:
- string
- 'null'
type: object
BillingServiceContact:
additionalProperties: false
properties:
email:
type:
- string
- 'null'
name:
type:
- string
- 'null'
telephone:
type:
- string
- 'null'
type: object
PrecedingInvoice:
additionalProperties: false
properties:
invoiceNumber:
type:
- string
- 'null'
issueDate:
type:
- string
- 'null'
type: object
FullFlowInfo:
additionalProperties: false
properties:
flowId:
maxLength: 36
type:
- string
- 'null'
flowProfile:
$ref: '#/components/schemas/FlowProfile'
flowSyntax:
$ref: '#/components/schemas/FlowSyntax'
name:
minLength: 1
type: string
sha256:
pattern: ^[a-f0-9]{64}$
type:
- string
- 'null'
trackingId:
type:
- string
- 'null'
required:
- flowId
- flowSyntax
- name
- sha256
type: object
PaymentCard:
additionalProperties: false
properties:
accountIdentifier:
type:
- string
- 'null'
accountName:
type:
- string
- 'null'
networkId:
type:
- string
- 'null'
type: object
TaxRepresentativeAddress:
additionalProperties: false
properties:
addressLine1:
type:
- string
- 'null'
addressLine2:
type:
- string
- 'null'
addressLine3:
type:
- string
- 'null'
city:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
countrySubdivision:
ty
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/agicap/refs/heads/main/openapi/agicap-invoice-flows-api-openapi.yml