---
updatedAt: 2026-09-19T14:42:38.000Z
agentTools:
  projectIndex: https://developers.burodeingresos.com/llms.txt
---

# Create Bulk Consents

**Deprecated.** Send `ip_address` in `POST /verifications` instead (or in each item of `POST /verifications/bulk`). This endpoint keeps working until November 15, 2026, when it is removed.

Registers multiple consents in a single request. Individual (18-char CURP) and Business (12-char RFC) identifiers can be mixed in the same batch and share the same payload shape.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Buró de Ingresos API",
    "version": "v1.2.24",
    "description": "Verify income and employment data with just a CURP. Made with ❤️ in Mexico 🇲🇽"
  },
  "servers": [
    {
      "url": "https://api.burodeingresos.com",
      "description": "Production server"
    }
  ],
  "tags": [
    {
      "name": "Consents",
      "description": "Endpoints for managing consents, including bulk creation. Same payload (identifier, ip_address, privacy_notice_url) for both Individual (18-char CURP) and Business (12-char RFC) identifiers. All consents expire 365 days after creation. An expired consent blocks new verifications for that identifier (`POST /verifications` returns `consent_expired`), but not reading the data from verifications already completed."
    }
  ],
  "paths": {
    "/consents/bulk": {
      "post": {
        "tags": [
          "Consents"
        ],
        "summary": "Create Bulk Consents",
        "description": "**Deprecated.** Send `ip_address` in `POST /verifications` instead (or in each item of `POST /verifications/bulk`). This endpoint keeps working until November 15, 2026, when it is removed.\n\nRegisters multiple consents in a single request. Individual (18-char CURP) and Business (12-char RFC) identifiers can be mixed in the same batch and share the same payload shape.",
        "operationId": "createBulkConsents",
        "deprecated": true,
        "x-readme": {
          "slug": "create-bulk-consents"
        },
        "requestBody": {
          "description": "An array of consent creation requests. Individual and Business identifiers share the same payload shape.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConsentCreationRequest"
                }
              },
              "examples": {
                "bulkRequestExample": {
                  "summary": "Example bulk consent request (mixed Individual + Business)",
                  "value": [
                    {
                      "identifier": "DNVQ190124HMNKDM46",
                      "ip_address": "192.168.1.1",
                      "privacy_notice_url": "https://storage.googleapis.com/public_consent-9573a88b/AP%20Contacto%20-%20Bur%C3%B3%20de%20Ingresos.pdf"
                    },
                    {
                      "identifier": "JUXT981213HCSPXW73",
                      "ip_address": "192.168.1.1",
                      "privacy_notice_url": "https://storage.googleapis.com/public_consent-9573a88b/AP%20Contacto%20-%20Bur%C3%B3%20de%20Ingresos.pdf"
                    },
                    {
                      "identifier": "MNT850612KR4",
                      "ip_address": "192.168.1.1",
                      "privacy_notice_url": "https://palenca.com/privacy"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted. Batch consent creation queued successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkConsentCreationResponse"
                },
                "examples": {
                  "bulkResponseExample": {
                    "summary": "Batch consent queued successfully",
                    "value": {
                      "id": "56f79ebf-e18f-43af-bfbe-62036f86d1bc",
                      "status": "pending",
                      "total_items": 2,
                      "message": "Batch consent creation queued successfully."
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "unauthorized": {
                    "summary": "Invalid API key",
                    "value": {
                      "error": "Unauthorized",
                      "message": "Invalid X-API-Key"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "BulkConsentCreationResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the bulk consent job."
          },
          "status": {
            "type": "string",
            "enum": [
              "pending"
            ],
            "description": "Status of the batch job. Returns 'pending' when queued."
          },
          "total_items": {
            "type": "integer",
            "description": "Total number of items in the batch request."
          },
          "message": {
            "type": "string",
            "description": "Human-readable confirmation message."
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ErrorDetail"
          }
        }
      },
      "ErrorDetail": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "A machine-readable error code."
          },
          "message": {
            "type": "string",
            "description": "A human-readable message providing a summary of the error."
          },
          "details": {
            "type": "string",
            "description": "Additional details about the error, which can help in debugging."
          }
        }
      },
      "ConsentCreationRequest": {
        "type": "object",
        "required": [
          "identifier",
          "ip_address",
          "privacy_notice_url"
        ],
        "properties": {
          "identifier": {
            "type": "string",
            "description": "Identifier of the data owner: 18-char CURP for individuals or 12-char RFC for businesses.",
            "minLength": 12,
            "maxLength": 18,
            "example": "CUAI911021MOCRQS09"
          },
          "ip_address": {
            "type": "string",
            "description": "IP address of the user giving consent. Must be a valid IPv4 (e.g., 192.168.2.74) or IPv6 (e.g., 2001:db8::1) address.",
            "example": "192.168.2.74"
          },
          "privacy_notice_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to the privacy notice accepted by the user.",
            "example": "https://mycompany.com/privacy-policy"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "API Key for authenticating requests."
      }
    }
  }
}
```