# 📋 Create multiple mandates Create multiple mandates in a single batch operation. This endpoint allows creating multiple mandates for a client at once, which is useful when onboarding clients with multiple entities or when importing existing mandate data. All mandates in the batch will use the same client_id from the header. If any mandate fails to create, the entire batch will be rolled back. Endpoint: POST /mandates/batch Version: 1.0.0 ## Header parameters: - `X-PDP-Client-Id` (string, required) ID of the PDP Client for which the operation is performed ## Request fields (application/json): - `mandates` (array, required) List of mandates to create - `mandates.start_date` (string, required) When the mandate should become active Example: "2024-01-15T00:00:00Z" - `mandates.end_date` (any) When the mandate should expire (optional) Example: "2024-12-31T23:59:59Z" - `mandates.directory_entry` (object, required) Directory entry information for the mandated entity - `mandates.directory_entry.siren` (string, required) Company identification number (SIREN) - `mandates.directory_entry.name` (string, required) Company name - `mandates.directory_entry.suffix` (any) Service suffix - when using simple SIREN+suffix nomenclature - `mandates.directory_entry.siret` (any) Establishment identification number (SIRET) - `mandates.directory_entry.routing_identifier` (any) Routing identifier - `mandates.directory_entry.routing_identifier_type` (any) Type of routing identifier - `mandates.directory_entry.routing_code_label` (any) Label for the routing code - `mandates.directory_entry.establishment_nature` (any) Nature of the establishment - `mandates.directory_entry.legal_commitment_management` (any) Legal commitment management status - `mandates.directory_entry.administrative_status` (any) Administrative status - `mandates.directory_entry.addressable` (any) Whether the company is addressable - `mandates.directory_entry.address` (any) Establishment address - `mandates.directory_entry.created_at` (any) When the entry was created - `mandates.directory_entry.updated_at` (any) When the entry was last updated - `mandates.file_attachment` (any) Optional file attachment for the mandate ## Response 201 fields (application/json): - `mandates` (array, required) Created mandates - `mandates.id` (any) Unique mandate identifier - `mandates.client_id` (string, required) Reference to the client who owns this mandate - `mandates.start_date` (string, required) When the mandate becomes active - `mandates.end_date` (any) When the mandate expires (optional) - `mandates.file_attachment` (any) Optional file attachment for the mandate - `mandates.status` (string, required) Current status of the mandate Enum: "created", "pending_kyc", "active", "expired" - `mandates.directory_entry` (object, required) Directory entry information for the mandated entity - `mandates.directory_entry.siren` (string, required) Company identification number (SIREN) - `mandates.directory_entry.name` (string, required) Company name - `mandates.directory_entry.suffix` (any) Service suffix - when using simple SIREN+suffix nomenclature - `mandates.directory_entry.siret` (any) Establishment identification number (SIRET) - `mandates.directory_entry.routing_identifier` (any) Routing identifier - `mandates.directory_entry.routing_identifier_type` (any) Type of routing identifier - `mandates.directory_entry.routing_code_label` (any) Label for the routing code - `mandates.directory_entry.establishment_nature` (any) Nature of the establishment - `mandates.directory_entry.legal_commitment_management` (any) Legal commitment management status - `mandates.directory_entry.administrative_status` (any) Administrative status - `mandates.directory_entry.addressable` (any) Whether the company is addressable - `mandates.directory_entry.address` (any) Establishment address - `mandates.directory_entry.created_at` (any) When the entry was created - `mandates.directory_entry.updated_at` (any) When the entry was last updated - `mandates.created_at` (string, required) When the mandate was created - `mandates.updated_at` (any) When the mandate was last updated - `message` (string, required) Success message - `created_count` (integer, required) Number of mandates created ## Response 400 fields (application/json): - `error` (string, required) - `code` (integer, required) - `trace_id` (string, required) ## Response 422 fields (application/json): - `detail` (array) - `detail.loc` (array, required) - `detail.msg` (string, required) - `detail.type` (string, required)