# Create split consents Creates one or more consent invitations for 1:N Split Payments. The primary seller invites one or more secondary sellers by email. Each invitation generates a unique `receiver_id` in UUID format to be used when creating split orders. **POST** `/v1/split-consent` ## Request parameters ### Header - `X-Idempotency-Key` (string, required) Idempotency key in UUIDv4 format. Ensures the same request is not processed more than once. - `x-site-id` (string, required) Mercado Libre site identifier (e.g., MLA, MLB, MLM, MLC, MCO, MPE, MLU). - `invites` (array, required) - `invites[].seller_email` (string, required) Email of the secondary seller to invite. - `invites[].expiration_days` (integer, optional) Days until the invitation expires. If not specified, the system default deadline applies. - `invites[].metadata` (object, optional) Optional caller-supplied metadata bag persisted alongside the consent invite. Used for idempotent reconciliation against external systems. - `invites[].metadata.external_id` (string, optional) Caller-defined external identifier used for cross-system correlation. Must be unique per caller; we do not enforce uniqueness across callers. ## Response parameters - `succeeded` (array, required) List of successfully created consents. - `succeeded[].seller_email` (string, required) Email of the invited secondary seller. - `succeeded[].receiver_id` (string, required) Unique consent identifier in UUID format. Use this value as `receiver_id` when creating split orders. - `succeeded[].status` (string, required) Current status of the consent. Possible enum values: - `PENDING` The secondary seller received the invitation but has not yet accepted or rejected it. - `ACTIVE` The secondary seller accepted the consent. Split payments are enabled. - `REJECTED` The secondary seller rejected the invitation. - `CANCELED` The primary seller canceled the consent. - `EXPIRED` The invitation expired without a response within the established deadline. - `succeeded[].invite_url` (string, required) Invitation URL generated when the consent is created. Mercado Pago automatically sends this URL to the secondary seller by email when the consent is in `PENDING` status. The secondary seller can also use it to access the acceptance flow directly. The operational validity of the URL is determined by `expiration_days` (or the default 30-day deadline if not specified). - `failed` (array, required) List of invitations that could not be processed. May be empty if all succeeded. - `failed[].seller_email` (string, required) Email of the secondary seller that could not be invited. - `failed[].error` (string, required) Error code. - `failed[].message` (string, required) Error description. ## Errors | Status | Error | Description | | ------- | ------- | ----------- | | 400 | — | All invites failed due to validation errors. | | 409 | — | Idempotency key reused with a different payload. If you need to retry with different data, generate a new X-Idempotency-Key. If the request is identical, reuse the same key. | | 423 | — | Concurrent request with the same X-Idempotency-Key in progress. Wait for the in-progress request to complete before retrying. | | 500 | — | All invites failed due to an unexpected server error. If the error persists, contact Mercado Pago developer support. | ## Request example ### cURL ```bash curl -X POST \ 'https://api.mercadopago.com/v1/split-consent' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' \ -d '{ "invites": [ { "seller_email": "vendedor@example.com", "expiration_days": 30 } ] }' ``` ## Response example ```json { "succeeded": [ { "seller_email": "vendedor@example.com", "receiver_id": "550e8400-e29b-41d4-a716-446655440001", "status": "PENDING", "invite_url": "https://www.mercadopago.com/split-consent/accept?token=abc123" } ], "failed": [ { "seller_email": "vendedor@example.com", "error": "VALIDATION_ERROR", "message": "seller_email already has an active consent" } ] } ```