Download OpenAPI specification:
L'API ViDA est le point d'entrée central et sécurisé pour interagir avec l'écosystème de facturation électronique dans le cadre de la directive européenne VAT in Digital Age (ViDA). Conçue pour les Partenaires Agréés (PA) et les systèmes d'information des entreprises, elle facilite l'automatisation complète du cycle de vie des factures électroniques et la gestion des obligations fiscales associées.
Voir : Authentification API Inqom
Base URL
| companyId required | integer <int32> Internal identifier of the company (cabinet). |
| accountingFolderId required | integer <int32> Internal identifier of the accounting folder whose directory lines are returned. |
[- {
- "AddressingIdentifier": "string",
- "AddressingSuffix": "string",
- "Siren": "string",
- "Siret": "string",
- "RoutingIdentifier": "string",
- "Reachability": "Enabled",
- "PlatformType": "WK"
}
]Controller for managing mandates within a specific company context. Provides endpoints for creating, retrieving, sending reminders, and recreating mandates based on various criteria.
| companyId required | integer <int32> Internal identifier of the company (cabinet) owning the mandates. |
List of mandate entries to create. Each entry must contain the full mandate data.
| Siren required | string SIREN number of the company for which the mandate is being created (9-digit French company identifier). |
| Siret | string or null Optional SIRET number (14-digit French establishment identifier: 9-digit SIREN + 5-digit NIC) of the establishment covered by the mandate. When provided it is transmitted to the partner and must be consistent with the target accounting folder (same SIREN and NIC). A SIRET and addressing suffixes are mutually exclusive on the same entry. {null} when the mandate targets the company at the SIREN level. |
| CompanyExecutive required | string Full name of the company executive (dirigeant) responsible for the mandate. |
| BusinessName required | string Official business name (raison sociale) of the company covered by the mandate. |
| Address required | string Full postal address of the company covered by the mandate. |
required | object (ContactWithRoleCommand) Command extending Fred.ViDA.Application.Mandates.Commands.ContactCommand with an additional mandatory Fred.ViDA.Application.Mandates.Commands.ContactWithRoleCommand.Role field. Used when the contact's function within the mandate must be explicitly specified. |
required | object (CertifiedAccountantCommand) Command representing the certified public accountant (expert-comptable) linked to the mandate. Inherits contact information (name, email, phone) from Fred.ViDA.Application.Mandates.Commands.ContactCommand. |
| SkipMandateCreation required | boolean Indicates whether to skip the creation of mandate envelopes for the KYC job. |
| SkipMandateLegalConfirmation required | boolean Indicates whether a valid Platform Designation Mandate has already been duly signed, skipping the legal confirmation step. |
| AccountingFolderId required | integer <int32> Folder id associated with the mandate. |
Array of objects or null (AccountingFolderSuffixCommand) Data-driven addressing suffixes grouped by accounting folder. Each entry maps one accounting folder to its list of addressing suffixes. |
[- {
- "Siren": "123456789",
- "Siret": "12345678900012",
- "CompanyExecutive": "Martin Pierre",
- "BusinessName": "Société Dupont SAS",
- "Address": "12 rue de la Paix, 75001 Paris, France",
- "CompanyLegalRepresentative": {
- "LastName": "Dupont",
- "FirstName": "Jean-Pierre",
- "Email": "contact@example.com",
- "Phone": "+33123456789",
- "ActivateOtpSms": false,
- "Role": "Directeur Financier"
}, - "CertifiedAccountant": {
- "LastName": "Dupont",
- "FirstName": "Jean-Pierre",
- "Email": "contact@example.com",
- "Phone": "+33123456789",
- "ActivateOtpSms": false,
- "Siren": "123456789",
- "BusinessName": "Cabinet Dupont et Associés",
- "Address": "12 rue de la Paix, 75001 Paris, France",
- "WillSignFormalAgreement": true,
- "Role": "string"
}, - "SkipMandateCreation": true,
- "SkipMandateLegalConfirmation": true,
- "AccountingFolderId": 0,
- "FolderSuffixes": [
- {
- "AccountingFolderId": 0,
- "Suffixes": [
- "string"
]
}
]
}
]{- "SuccessCount": 0,
- "Errors": [
- {
- "AccountingFolderId": 0,
- "Error": "string"
}
], - "HasErrors": true,
- "IsFullFailure": true
}| companyId required | integer <int32> Internal identifier of the PME enterprise owning the dossiers. |
The dossiers to register. The list size is bounded by the command validator.
| AccountingFolderId required | integer <int32> Folder (dossier) being registered. The SIREN is read from this folder. |
| BusinessName | string or null Official business name (raison sociale) of the company being registered. |
| Address | string or null Full postal address of the company's registered office. |
| CompanyExecutive | string or null Optional company executive (dirigeant). When absent, the signatory's full name is used. |
object (DirectMandateSignatory) The signatory of a direct-flow registration entry. Mirrors Fred.ViDA.Application.Mandates.Commands.ContactWithRoleCommand but with every field nullable and without data annotations, so an incomplete signatory deserializes instead of failing model binding. Completeness and format are validated per entry inside the handler (non-blocking). |
[- {
- "AccountingFolderId": 0,
- "BusinessName": "string",
- "Address": "string",
- "CompanyExecutive": "string",
- "CompanyLegalRepresentative": {
- "LastName": "string",
- "FirstName": "string",
- "Email": "string",
- "Phone": "string",
- "Role": "string",
- "ActivateOtpSms": true
}
}
]{- "SuccessCount": 0,
- "Errors": [
- {
- "AccountingFolderId": 0,
- "Error": "string"
}
], - "HasErrors": true,
- "IsFullFailure": true
}| companyId required | integer <int32> Internal identifier of the company (cabinet) owning the mandate. |
The new accounting folder id and its addressing suffixes.
Array of objects or null (AccountingFolderSuffixCommand) New accounting folders (each with its addressing suffixes) to attach to the existing mandate. |
{- "FolderSuffixes": [
- {
- "AccountingFolderId": 0,
- "Suffixes": [
- "string"
]
}
]
}{- "property1": null,
- "property2": null
}| companyId required | integer <int32> Internal identifier of the company (cabinet) owning the mandate. |
The target accounting folder that should become the carrier.
| AccountingFolderId required | integer <int32> Target accounting folder that should become the carrier of the bare SIREN line. |
{- "AccountingFolderId": 0
}{- "property1": null,
- "property2": null
}| companyId required | integer <int32> Internal identifier of the company owning the mandate. |
| accountingFolderId required | integer <int32> Internal identifier of the accounting folder linked to the mandate. |
{- "Id": 0,
- "CompanyId": 0,
- "AccountingFolderId": 0,
- "CreatedAt": "2019-08-24T14:15:22Z",
- "SignedAt": "2019-08-24T14:15:22Z",
- "Siren": "string",
- "ErrorMessage": "string",
- "Documents": [
- {
- "Id": 0,
- "Type": "string",
- "Signers": [
- {
- "Email": "string",
- "SignedAt": "2019-08-24T14:15:22Z",
- "LastName": "string",
- "FirstName": "string",
- "SignatureLink": "string",
- "SignatureLinkExpiresAt": "2019-08-24T14:15:22Z",
- "LastSignatureLinkOpenedAt": "2019-08-24T14:15:22Z",
- "ErrorEmailStatus": "FailedSendingToProvider",
- "ErrorEmailMessage": "string"
}
], - "SignedAt": "2019-08-24T14:15:22Z"
}
], - "SyncStatus": "Received",
- "SignatureSettings": {
- "ExpirationDate": "2019-08-24T14:15:22Z",
- "IntervalInDay": 0,
- "MaxOccurrences": 0
}, - "FolderSuffixes": [
- {
- "AccountingFolderId": 0,
- "Suffix": "string",
- "Status": "Received",
- "ErrorMessage": "string"
}
], - "ErrorCode": "DuplicateCsv",
- "IdentityDocuments": [
- {
- "Type": "NationalIdentityCard",
- "Status": "Pending",
- "Errors": [
- "string"
], - "CreatedAt": "2019-08-24T14:15:22Z"
}
], - "Siret": "string",
- "CompanyExecutive": "string",
- "BusinessName": "string",
- "Address": "string",
- "CompanyLegalRepresentative": {
- "Email": "string",
- "LastName": "string",
- "FirstName": "string",
- "Phone": "string",
- "Role": "string"
}, - "CertifiedAccountant": {
- "Email": "string",
- "LastName": "string",
- "FirstName": "string",
- "Phone": "string",
- "Siren": "string",
- "BusinessName": "string",
- "Address": "string",
- "WillSignFormalAgreement": true,
- "Role": "string"
}
}| companyId required | integer <int32> Internal identifier of the company whose mandates are retrieved. |
[- {
- "Id": 0,
- "CompanyId": 0,
- "AccountingFolderId": 0,
- "CreatedAt": "2019-08-24T14:15:22Z",
- "SignedAt": "2019-08-24T14:15:22Z",
- "Siren": "string",
- "ErrorMessage": "string",
- "Documents": [
- {
- "Id": 0,
- "Type": "string",
- "Signers": [
- {
- "Email": "string",
- "SignedAt": "2019-08-24T14:15:22Z",
- "LastName": "string",
- "FirstName": "string",
- "SignatureLink": "string",
- "SignatureLinkExpiresAt": "2019-08-24T14:15:22Z",
- "LastSignatureLinkOpenedAt": "2019-08-24T14:15:22Z",
- "ErrorEmailStatus": "FailedSendingToProvider",
- "ErrorEmailMessage": "string"
}
], - "SignedAt": "2019-08-24T14:15:22Z"
}
], - "SyncStatus": "Received",
- "SignatureSettings": {
- "ExpirationDate": "2019-08-24T14:15:22Z",
- "IntervalInDay": 0,
- "MaxOccurrences": 0
}, - "FolderSuffixes": [
- {
- "AccountingFolderId": 0,
- "Suffix": "string",
- "Status": "Received",
- "ErrorMessage": "string"
}
], - "ErrorCode": "DuplicateCsv",
- "IdentityDocuments": [
- {
- "Type": "NationalIdentityCard",
- "Status": "Pending",
- "Errors": [
- "string"
], - "CreatedAt": "2019-08-24T14:15:22Z"
}
]
}
]| companyId required | integer <int32> Internal identifier of the company owning the mandates. |
List of internal mandate identifiers whose signatories should be reminded.
[- 0
]{- "property1": null,
- "property2": null
}| companyId required | integer <int32> Internal identifier of the company owning the mandates to recreate. |
List of internal identifiers of the expired or rejected mandates to recreate.
[- 0
]{- "SuccessCount": 0,
- "Errors": [
- {
- "Mandate": {
- "Siren": "123456789",
- "Siret": "12345678900012",
- "CompanyExecutive": "Martin Pierre",
- "BusinessName": "Société Dupont SAS",
- "Address": "12 rue de la Paix, 75001 Paris, France",
- "CompanyLegalRepresentative": {
- "LastName": "Dupont",
- "FirstName": "Jean-Pierre",
- "Email": "contact@example.com",
- "Phone": "+33123456789",
- "ActivateOtpSms": false,
- "Role": "Directeur Financier"
}, - "CertifiedAccountant": {
- "LastName": "Dupont",
- "FirstName": "Jean-Pierre",
- "Email": "contact@example.com",
- "Phone": "+33123456789",
- "ActivateOtpSms": false,
- "Siren": "123456789",
- "BusinessName": "Cabinet Dupont et Associés",
- "Address": "12 rue de la Paix, 75001 Paris, France",
- "WillSignFormalAgreement": true,
- "Role": "string"
}, - "SkipMandateCreation": true,
- "SkipMandateLegalConfirmation": true,
- "AccountingFolderId": 0,
- "FolderSuffixes": [
- {
- "AccountingFolderId": 0,
- "Suffixes": [
- "string"
]
}
]
}, - "Error": "string"
}
]
}| companyId required | integer <int32> Internal identifier of the company owning the mandate. |
| mandateId required | integer <int32> Internal identifier of the mandate to cancel. |
{- "property1": null,
- "property2": null
}| companyId required | integer <int32> Internal identifier of the company owning the mandate. |
| mandateId required | integer <int32> Internal identifier of the mandate containing the document. |
| documentId required | integer <int32> Internal identifier of the document to download. |
"string"Manages ChainTrust sub-tokens on behalf of the authenticated partner. Sub-token requests are persisted locally (CompanyId + AccountingFolderIds) while ChainTrust remains the live source-of-truth for IsActive and scopes. Requires the Fred.ViDA.Application.Common.FeatureFlags.SubTokens feature flag to be enabled.
| companyId required | integer <int32> |
[- {
- "ClientId": "string",
- "DisplayName": "string",
- "IsActive": true,
- "Scopes": [
- "DirectoryRead"
], - "Sirens": [
- "string"
], - "AccountingFolderIds": [
- 0
]
}
]| companyId required | integer <int32> |
| DisplayName | string or null |
| Scopes | Array of strings or null Enum: "DirectoryRead" "FlowsRead" "FlowsWrite" |
| AccountingFolderIds | Array of integers or null <int32> [ items <int32 > ] |
{- "DisplayName": "string",
- "Scopes": [
- "DirectoryRead"
], - "AccountingFolderIds": [
- 0
]
}{- "ClientId": "string",
- "ClientSecret": "string",
- "DisplayName": "string",
- "IsActive": true,
- "Scopes": [
- "DirectoryRead"
], - "Sirens": [
- "string"
], - "AccountingFolderIds": [
- 0
]
}| companyId required | integer <int32> |
| clientId required | string |
{- "ClientId": "string",
- "DisplayName": "string",
- "IsActive": true,
- "Scopes": [
- "DirectoryRead"
], - "Sirens": [
- "string"
], - "AccountingFolderIds": [
- 0
]
}| companyId required | integer <int32> |
| clientId required | string |
| DisplayName | string or null |
| IsActive | boolean or null |
| Scopes | Array of strings or null Enum: "DirectoryRead" "FlowsRead" "FlowsWrite" |
| AccountingFolderIds | Array of integers or null <int32> [ items <int32 > ] |
{- "DisplayName": "string",
- "IsActive": true,
- "Scopes": [
- "DirectoryRead"
], - "AccountingFolderIds": [
- 0
]
}{- "ClientId": "string",
- "DisplayName": "string",
- "IsActive": true,
- "Scopes": [
- "DirectoryRead"
], - "Sirens": [
- "string"
], - "AccountingFolderIds": [
- 0
]
}| accountingFolderId required | integer <int32> |
{- "AccountingFolderId": 0,
- "HasIncomingConfiguration": true,
- "HasOutgoingConfiguration": true,
- "DirectoryLines": [
- {
- "Type": "string",
- "PlatformName": "string",
- "AddressingIdentifier": "string",
- "StartDate": "2019-08-24T14:15:22Z",
- "Suffix": "string"
}
]
}