Skip to content

Seqino PDP API (1.0.0)

Seqino PDP API - Modern interface to France's e-Invoicing services

Download OpenAPI description
Languages
Servers
Current server

https://pdp-api-v250704-iron.seqino.dev/

Local development server

http://localhost:8052/

Production server

https://pdp.seqino.com/api/

👥 Clients

Operations

📋 Mandates

Operations

📋 Get client mandates

Request

Get all mandates for a client with their directory information.

Returns a list of mandates with their associated directory entries, including routing information and establishment details.

Query
status_filterMandateStatus (string) or Status Filter (null)(Status Filter)

Filter by mandate status

Any of:

Filter by mandate status

string(MandateStatus)

Filter by mandate status

Enum"created""pending_kyc""active""expired"
Headers
X-PDP-Client-Idstring(X-Pdp-Client-Id)required

ID of the PDP Client for which the operation is performed

Examples:
sandbox-client-seqino
curl -i -X GET \
  'https://pdp-api-v250704-iron.seqino.dev/api/mandates?status_filter=created' \
  -H 'X-PDP-Client-Id: string'

Responses

List of client mandates

Bodyapplication/jsonArray [
idstring(Id)required

Unique mandate identifier

Example: "mdt_abc123"
client_idstring(Client Id)required

Reference to the client who owns this mandate

Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
start_datestring(date-time)(Start Date)required

When the mandate becomes active

Example: "2024-01-15T00:00:00Z"
end_dateEnd Date (string) or End Date (null)(End Date)

When the mandate expires (optional)

Example: "2024-12-31T23:59:59Z"
Any of:

When the mandate expires (optional)

string(date-time)(End Date)

When the mandate expires (optional)

file_attachmentFileAttachment (object) or null

Optional file attachment for the mandate

Any of:

Optional file attachment for the mandate

statusstring(MandateStatus)required

Status of the mandate.

Enum"created""pending_kyc""active""expired"
Example: "active"
directory_entryobject(DirectoryEntry)required

Complete directory entry with all information.

directory_entry.​sirenstring(Siren)non-emptyrequired

Company identification number (SIREN)

directory_entry.​namestring(Name)non-emptyrequired

Company name

directory_entry.​suffixSuffix (string) or Suffix (null)(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

Any of:

Service suffix - when using simple SIREN+suffix nomenclature

string(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

directory_entry.​siretSiret (string) or Siret (null)(Siret)

Establishment identification number (SIRET)

Any of:

Establishment identification number (SIRET)

string(Siret)

Establishment identification number (SIRET)

directory_entry.​routing_identifierRouting Identifier (string) or Routing Identifier (null)(Routing Identifier)

Routing identifier

Any of:

Routing identifier

string(Routing Identifier)

Routing identifier

directory_entry.​routing_identifier_typeRoutingIdentifierType (string) or null

Type of routing identifier

Any of:

Type of routing identifier

string(RoutingIdentifierType)

Type of routing identifier

Enum"0224"88"0060""Internal"
directory_entry.​routing_code_labelRouting Code Label (string) or Routing Code Label (null)(Routing Code Label)

Label for the routing code

Any of:

Label for the routing code

string(Routing Code Label)

Label for the routing code

directory_entry.​establishment_natureEstablishmentNature (string) or null

Nature of the establishment

Any of:

Nature of the establishment

string(EstablishmentNature)

Nature of the establishment

Enum"Private""Public"
directory_entry.​legal_commitment_managementLegal Commitment Management (boolean) or Legal Commitment Management (null)(Legal Commitment Management)

Legal commitment management status

Any of:

Legal commitment management status

boolean(Legal Commitment Management)

Legal commitment management status

directory_entry.​administrative_statusAdministrativeStatus (string) or null

Administrative status

Any of:

Administrative status

string(AdministrativeStatus)

Administrative status

Enum"A""F"
directory_entry.​addressableAddressable (boolean) or Addressable (null)(Addressable)

Whether the company is addressable

Any of:

Whether the company is addressable

boolean(Addressable)

Whether the company is addressable

directory_entry.​addressAddress (object) or null

Establishment address

Any of:

Establishment address

directory_entry.​created_atCreated At (string) or Created At (null)(Created At)

When the entry was created

Any of:

When the entry was created

string(date)(Created At)

When the entry was created

directory_entry.​updated_atUpdated At (string) or Updated At (null)(Updated At)

When the entry was last updated

Any of:

When the entry was last updated

string(date)(Updated At)

When the entry was last updated

created_atstring(date-time)(Created At)required

When the mandate was created

Example: "2024-01-15T10:30:00Z"
updated_atUpdated At (string) or Updated At (null)(Updated At)

When the mandate was last updated

Example: "2024-01-15T14:20:00Z"
Any of:

When the mandate was last updated

string(date-time)(Updated At)

When the mandate was last updated

]
Response
application/json
[ { "id": "mdt_abc123", "client_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "start_date": "2024-01-15T00:00:00Z", "end_date": "2024-12-31T23:59:59Z", "file_attachment": {}, "status": "active", "directory_entry": {}, "created_at": "2024-01-15T10:30:00Z", "updated_at": "2024-01-15T14:20:00Z" } ]

📋 Create mandate with directory entry

Request

Create a new mandate with its associated directory entry.

This endpoint creates both:

  1. A directory entry for routing invoices to the company
  2. A mandate granting permission to manage invoices for this entity

The mandate defines the scope of operations the sponsor can perform for this legal entity (SIREN, SIRET, or routing code level).

Headers
X-PDP-Client-Idstring(X-Pdp-Client-Id)required

ID of the PDP Client for which the operation is performed

Examples:
sandbox-client-seqino
Bodyapplication/jsonrequired
client_idstring(Client Id)required

Reference to the client who will own this mandate

Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
start_datestring(date-time)(Start Date)required

When the mandate should become active

Example: "2024-01-15T00:00:00Z"
end_dateEnd Date (string) or End Date (null)(End Date)

When the mandate should expire (optional)

Example: "2024-12-31T23:59:59Z"
Any of:

When the mandate should expire (optional)

string(date-time)(End Date)

When the mandate should expire (optional)

directory_entryobject(DirectoryEntry)required

Complete directory entry with all information.

directory_entry.​sirenstring(Siren)non-emptyrequired

Company identification number (SIREN)

directory_entry.​namestring(Name)non-emptyrequired

Company name

directory_entry.​suffixSuffix (string) or Suffix (null)(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

Any of:

Service suffix - when using simple SIREN+suffix nomenclature

string(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

directory_entry.​siretSiret (string) or Siret (null)(Siret)

Establishment identification number (SIRET)

Any of:

Establishment identification number (SIRET)

string(Siret)

Establishment identification number (SIRET)

directory_entry.​routing_identifierRouting Identifier (string) or Routing Identifier (null)(Routing Identifier)

Routing identifier

Any of:

Routing identifier

string(Routing Identifier)

Routing identifier

directory_entry.​routing_identifier_typeRoutingIdentifierType (string) or null

Type of routing identifier

Any of:

Type of routing identifier

string(RoutingIdentifierType)

Type of routing identifier

Enum"0224"88"0060""Internal"
directory_entry.​routing_code_labelRouting Code Label (string) or Routing Code Label (null)(Routing Code Label)

Label for the routing code

Any of:

Label for the routing code

string(Routing Code Label)

Label for the routing code

directory_entry.​establishment_natureEstablishmentNature (string) or null

Nature of the establishment

Any of:

Nature of the establishment

string(EstablishmentNature)

Nature of the establishment

Enum"Private""Public"
directory_entry.​legal_commitment_managementLegal Commitment Management (boolean) or Legal Commitment Management (null)(Legal Commitment Management)

Legal commitment management status

Any of:

Legal commitment management status

boolean(Legal Commitment Management)

Legal commitment management status

directory_entry.​administrative_statusAdministrativeStatus (string) or null

Administrative status

Any of:

Administrative status

string(AdministrativeStatus)

Administrative status

Enum"A""F"
directory_entry.​addressableAddressable (boolean) or Addressable (null)(Addressable)

Whether the company is addressable

Any of:

Whether the company is addressable

boolean(Addressable)

Whether the company is addressable

directory_entry.​addressAddress (object) or null

Establishment address

Any of:

Establishment address

directory_entry.​created_atCreated At (string) or Created At (null)(Created At)

When the entry was created

Any of:

When the entry was created

string(date)(Created At)

When the entry was created

directory_entry.​updated_atUpdated At (string) or Updated At (null)(Updated At)

When the entry was last updated

Any of:

When the entry was last updated

string(date)(Updated At)

When the entry was last updated

file_attachmentFileAttachment (object) or null

Optional file attachment for the mandate

Any of:

Optional file attachment for the mandate

curl -i -X POST \
  https://pdp-api-v250704-iron.seqino.dev/api/mandates \
  -H 'Content-Type: application/json' \
  -H 'X-PDP-Client-Id: string' \
  -d '{
    "client_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "start_date": "2024-01-15T00:00:00Z",
    "end_date": "2024-12-31T23:59:59Z",
    "directory_entry": {
      "siren": "string",
      "name": "string",
      "suffix": "string",
      "siret": "string",
      "routing_identifier": "string",
      "routing_identifier_type": "0224",
      "routing_code_label": "string",
      "establishment_nature": "Private",
      "legal_commitment_management": true,
      "administrative_status": "A",
      "addressable": true,
      "address": {
        "address_line_1": "16 BIS RUE HENRI BARBUSSE",
        "address_line_2": "CEDEX 1",
        "address_line_3": "Bâtiment le Callipso",
        "postal_code": "38100",
        "subdivision": "Bretagne",
        "city": "Grenoble",
        "country_code": "FR"
      },
      "created_at": "2019-08-24",
      "updated_at": "2019-08-24"
    },
    "file_attachment": {
      "filename": "string",
      "file_url": "string",
      "file_size": 0,
      "content_type": "string",
      "uploaded_at": "2019-08-24T14:15:22Z"
    }
  }'

Responses

Mandate created successfully

Bodyapplication/json
mandateobject(Mandate)required

Mandate model with all information.

mandate.​idstring(Id)required

Unique mandate identifier

Example: "mdt_abc123"
mandate.​client_idstring(Client Id)required

Reference to the client who owns this mandate

Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
mandate.​start_datestring(date-time)(Start Date)required

When the mandate becomes active

Example: "2024-01-15T00:00:00Z"
mandate.​end_dateEnd Date (string) or End Date (null)(End Date)

When the mandate expires (optional)

Example: "2024-12-31T23:59:59Z"
Any of:

When the mandate expires (optional)

string(date-time)(End Date)

When the mandate expires (optional)

mandate.​file_attachmentFileAttachment (object) or null

Optional file attachment for the mandate

Any of:

Optional file attachment for the mandate

mandate.​statusstring(MandateStatus)required

Status of the mandate.

Enum"created""pending_kyc""active""expired"
Example: "active"
mandate.​directory_entryobject(DirectoryEntry)required

Complete directory entry with all information.

mandate.​directory_entry.​sirenstring(Siren)non-emptyrequired

Company identification number (SIREN)

mandate.​directory_entry.​namestring(Name)non-emptyrequired

Company name

mandate.​directory_entry.​suffixSuffix (string) or Suffix (null)(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

Any of:

Service suffix - when using simple SIREN+suffix nomenclature

string(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

mandate.​directory_entry.​siretSiret (string) or Siret (null)(Siret)

Establishment identification number (SIRET)

Any of:

Establishment identification number (SIRET)

string(Siret)

Establishment identification number (SIRET)

mandate.​directory_entry.​routing_identifierRouting Identifier (string) or Routing Identifier (null)(Routing Identifier)

Routing identifier

Any of:

Routing identifier

string(Routing Identifier)

Routing identifier

mandate.​directory_entry.​routing_identifier_typeRoutingIdentifierType (string) or null

Type of routing identifier

Any of:

Type of routing identifier

string(RoutingIdentifierType)

Type of routing identifier

Enum"0224"88"0060""Internal"
mandate.​directory_entry.​routing_code_labelRouting Code Label (string) or Routing Code Label (null)(Routing Code Label)

Label for the routing code

Any of:

Label for the routing code

string(Routing Code Label)

Label for the routing code

mandate.​directory_entry.​establishment_natureEstablishmentNature (string) or null

Nature of the establishment

Any of:

Nature of the establishment

string(EstablishmentNature)

Nature of the establishment

Enum"Private""Public"
mandate.​directory_entry.​legal_commitment_managementLegal Commitment Management (boolean) or Legal Commitment Management (null)(Legal Commitment Management)

Legal commitment management status

Any of:

Legal commitment management status

boolean(Legal Commitment Management)

Legal commitment management status

mandate.​directory_entry.​administrative_statusAdministrativeStatus (string) or null

Administrative status

Any of:

Administrative status

string(AdministrativeStatus)

Administrative status

Enum"A""F"
mandate.​directory_entry.​addressableAddressable (boolean) or Addressable (null)(Addressable)

Whether the company is addressable

Any of:

Whether the company is addressable

boolean(Addressable)

Whether the company is addressable

mandate.​directory_entry.​addressAddress (object) or null

Establishment address

Any of:

Establishment address

mandate.​directory_entry.​created_atCreated At (string) or Created At (null)(Created At)

When the entry was created

Any of:

When the entry was created

string(date)(Created At)

When the entry was created

mandate.​directory_entry.​updated_atUpdated At (string) or Updated At (null)(Updated At)

When the entry was last updated

Any of:

When the entry was last updated

string(date)(Updated At)

When the entry was last updated

mandate.​created_atstring(date-time)(Created At)required

When the mandate was created

Example: "2024-01-15T10:30:00Z"
mandate.​updated_atUpdated At (string) or Updated At (null)(Updated At)

When the mandate was last updated

Example: "2024-01-15T14:20:00Z"
Any of:

When the mandate was last updated

string(date-time)(Updated At)

When the mandate was last updated

messagestring(Message)required

Response message

Example: "Mandate created successfully"
Response
application/json
{ "mandate": { "id": "mdt_abc123", "client_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "start_date": "2024-01-15T00:00:00Z", "end_date": "2024-12-31T23:59:59Z", "file_attachment": {}, "status": "active", "directory_entry": {}, "created_at": "2024-01-15T10:30:00Z", "updated_at": "2024-01-15T14:20:00Z" }, "message": "Mandate created successfully" }

📋 Get mandate details

Request

Get detailed information about a specific mandate.

Path
mandate_idstring(Mandate Id)required

Mandate ID

Headers
X-PDP-Client-Idstring(X-Pdp-Client-Id)

ID of the PDP Client for which the operation is performed

Examples:
sandbox-client-seqino
curl -i -X GET \
  'https://pdp-api-v250704-iron.seqino.dev/api/mandates/{mandate_id}' \
  -H 'X-PDP-Client-Id: string'

Responses

Mandate details

Bodyapplication/json
idstring(Id)required

Unique mandate identifier

Example: "mdt_abc123"
client_idstring(Client Id)required

Reference to the client who owns this mandate

Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
start_datestring(date-time)(Start Date)required

When the mandate becomes active

Example: "2024-01-15T00:00:00Z"
end_dateEnd Date (string) or End Date (null)(End Date)

When the mandate expires (optional)

Example: "2024-12-31T23:59:59Z"
Any of:

When the mandate expires (optional)

string(date-time)(End Date)

When the mandate expires (optional)

file_attachmentFileAttachment (object) or null

Optional file attachment for the mandate

Any of:

Optional file attachment for the mandate

statusstring(MandateStatus)required

Status of the mandate.

Enum"created""pending_kyc""active""expired"
Example: "active"
directory_entryobject(DirectoryEntry)required

Complete directory entry with all information.

directory_entry.​sirenstring(Siren)non-emptyrequired

Company identification number (SIREN)

directory_entry.​namestring(Name)non-emptyrequired

Company name

directory_entry.​suffixSuffix (string) or Suffix (null)(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

Any of:

Service suffix - when using simple SIREN+suffix nomenclature

string(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

directory_entry.​siretSiret (string) or Siret (null)(Siret)

Establishment identification number (SIRET)

Any of:

Establishment identification number (SIRET)

string(Siret)

Establishment identification number (SIRET)

directory_entry.​routing_identifierRouting Identifier (string) or Routing Identifier (null)(Routing Identifier)

Routing identifier

Any of:

Routing identifier

string(Routing Identifier)

Routing identifier

directory_entry.​routing_identifier_typeRoutingIdentifierType (string) or null

Type of routing identifier

Any of:

Type of routing identifier

string(RoutingIdentifierType)

Type of routing identifier

Enum"0224"88"0060""Internal"
directory_entry.​routing_code_labelRouting Code Label (string) or Routing Code Label (null)(Routing Code Label)

Label for the routing code

Any of:

Label for the routing code

string(Routing Code Label)

Label for the routing code

directory_entry.​establishment_natureEstablishmentNature (string) or null

Nature of the establishment

Any of:

Nature of the establishment

string(EstablishmentNature)

Nature of the establishment

Enum"Private""Public"
directory_entry.​legal_commitment_managementLegal Commitment Management (boolean) or Legal Commitment Management (null)(Legal Commitment Management)

Legal commitment management status

Any of:

Legal commitment management status

boolean(Legal Commitment Management)

Legal commitment management status

directory_entry.​administrative_statusAdministrativeStatus (string) or null

Administrative status

Any of:

Administrative status

string(AdministrativeStatus)

Administrative status

Enum"A""F"
directory_entry.​addressableAddressable (boolean) or Addressable (null)(Addressable)

Whether the company is addressable

Any of:

Whether the company is addressable

boolean(Addressable)

Whether the company is addressable

directory_entry.​addressAddress (object) or null

Establishment address

Any of:

Establishment address

directory_entry.​created_atCreated At (string) or Created At (null)(Created At)

When the entry was created

Any of:

When the entry was created

string(date)(Created At)

When the entry was created

directory_entry.​updated_atUpdated At (string) or Updated At (null)(Updated At)

When the entry was last updated

Any of:

When the entry was last updated

string(date)(Updated At)

When the entry was last updated

created_atstring(date-time)(Created At)required

When the mandate was created

Example: "2024-01-15T10:30:00Z"
updated_atUpdated At (string) or Updated At (null)(Updated At)

When the mandate was last updated

Example: "2024-01-15T14:20:00Z"
Any of:

When the mandate was last updated

string(date-time)(Updated At)

When the mandate was last updated

Response
application/json
{ "id": "mdt_abc123", "client_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "start_date": "2024-01-15T00:00:00Z", "end_date": "2024-12-31T23:59:59Z", "file_attachment": { "filename": "string", "file_url": "string", "file_size": 0, "content_type": "string", "uploaded_at": "2019-08-24T14:15:22Z" }, "status": "active", "directory_entry": { "siren": "string", "name": "string", "suffix": "string", "siret": "string", "routing_identifier": "string", "routing_identifier_type": "0224", "routing_code_label": "string", "establishment_nature": "Private", "legal_commitment_management": true, "administrative_status": "A", "addressable": true, "address": {}, "created_at": "2019-08-24", "updated_at": "2019-08-24" }, "created_at": "2024-01-15T10:30:00Z", "updated_at": "2024-01-15T14:20:00Z" }

📋 Revoke mandate

Request

Revoke a mandate.

This action permanently revokes the sponsor's permission to manage invoices for this entity. The associated directory entry remains active but the sponsor can no longer perform operations on behalf of this entity.

Path
mandate_idstring(Mandate Id)required

Mandate ID

Headers
X-PDP-Client-Idstring(X-Pdp-Client-Id)

ID of the PDP Client for which the operation is performed

Examples:
sandbox-client-seqino
curl -i -X DELETE \
  'https://pdp-api-v250704-iron.seqino.dev/api/mandates/{mandate_id}' \
  -H 'X-PDP-Client-Id: string'

Responses

Mandate revoked successfully

Response
No content

📘 Get directory entries for SIREN

Request

Get all directory/routing entries from the directory database for a given SIREN.

This endpoint retrieves routing information for a company identified by its SIREN. The data includes establishment details and routing configurations for electronic invoicing.

Path
sirenstring(Siren)required

Company SIREN number

Example: 123456789
Headers
X-PDP-Client-Idstring(X-Pdp-Client-Id)

ID of the PDP Client for which the operation is performed

Examples:
sandbox-client-seqino
curl -i -X GET \
  https://pdp-api-v250704-iron.seqino.dev/api/mandates/directory/123456789 \
  -H 'X-PDP-Client-Id: string'

Responses

Directory entries found

Bodyapplication/jsonArray [
sirenstring(Siren)non-emptyrequired

Company identification number (SIREN)

namestring(Name)non-emptyrequired

Company name

suffixSuffix (string) or Suffix (null)(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

Any of:

Service suffix - when using simple SIREN+suffix nomenclature

string(Suffix)

Service suffix - when using simple SIREN+suffix nomenclature

siretSiret (string) or Siret (null)(Siret)

Establishment identification number (SIRET)

Any of:

Establishment identification number (SIRET)

string(Siret)

Establishment identification number (SIRET)

routing_identifierRouting Identifier (string) or Routing Identifier (null)(Routing Identifier)

Routing identifier

Any of:

Routing identifier

string(Routing Identifier)

Routing identifier

routing_identifier_typeRoutingIdentifierType (string) or null

Type of routing identifier

Any of:

Type of routing identifier

string(RoutingIdentifierType)

Type of routing identifier

Enum"0224"88"0060""Internal"
routing_code_labelRouting Code Label (string) or Routing Code Label (null)(Routing Code Label)

Label for the routing code

Any of:

Label for the routing code

string(Routing Code Label)

Label for the routing code

establishment_natureEstablishmentNature (string) or null

Nature of the establishment

Any of:

Nature of the establishment

string(EstablishmentNature)

Nature of the establishment

Enum"Private""Public"
legal_commitment_managementLegal Commitment Management (boolean) or Legal Commitment Management (null)(Legal Commitment Management)

Legal commitment management status

Any of:

Legal commitment management status

boolean(Legal Commitment Management)

Legal commitment management status

administrative_statusAdministrativeStatus (string) or null

Administrative status

Any of:

Administrative status

string(AdministrativeStatus)

Administrative status

Enum"A""F"
addressableAddressable (boolean) or Addressable (null)(Addressable)

Whether the company is addressable

Any of:

Whether the company is addressable

boolean(Addressable)

Whether the company is addressable

addressAddress (object) or null

Establishment address

Any of:

Establishment address

created_atCreated At (string) or Created At (null)(Created At)

When the entry was created

Any of:

When the entry was created

string(date)(Created At)

When the entry was created

updated_atUpdated At (string) or Updated At (null)(Updated At)

When the entry was last updated

Any of:

When the entry was last updated

string(date)(Updated At)

When the entry was last updated

]
Response
application/json
[ { "siren": "string", "name": "string", "suffix": "string", "siret": "string", "routing_identifier": "string", "routing_identifier_type": "0224", "routing_code_label": "string", "establishment_nature": "Private", "legal_commitment_management": true, "administrative_status": "A", "addressable": true, "address": {}, "created_at": "2019-08-24", "updated_at": "2019-08-24" } ]

📝 Drafts

Operations

📘 Directory

Operations

🧾 Invoicing

Operations

🔄 Lifecycle

Operations

📊 Reporting

Operations

📊 Usage

Operations

⚙️ Settings

Operations

Health Check

Request

Health check endpoint.

curl -i -X GET \
  https://pdp-api-v250704-iron.seqino.dev/health

Responses

Successful Response

Bodyapplication/json
any
Response
application/json
null