---
title: "Get country identification requirements for an eSIM offer"
method: GET
path: "/v1/esim/offers/{offer_id}/requirements"
tags: ["esim-offers"]
---

# Get country identification requirements for an eSIM offer

`GET /v1/esim/offers/{offer_id}/requirements`

## Request

- Base URL: `https://us1.platform.bird.com`
- URL: `https://us1.platform.bird.com/v1/esim/offers/{offer_id}/requirements`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `bird_session`

Returns identification guidance as a JSON Schema for each country in the offer's coverage zone. The schemas require `first_name`, `last_name`, and `email`, including countries with no additional requirements. Enable format assertions in your validator for email addresses and dates.

You collect and validate the information. Bird does not receive or verify the answers, and fetching or satisfying these schemas does not authorize a purchase or assignment.

## Path parameters

- `offer_id` string, required

## Headers

- `X-Workspace-Id` string
- `X-Organization-Id` string

## Response `200`

Requirements for the offer coverage countries.

- EsimOfferRequirements: Identification guidance for the countries covered by the offer. You collect and validate the information; this response does not verify a person or authorize a purchase.
  - `countries` EsimCountryRequirements[], required
    - `country_code` string, required: ISO 3166-1 alpha-2 country code.
    - `schema_revision` string, required: Revision identifying the returned identification schema. A changed revision means the requirements or guidance changed. It does not indicate an expiry time or purchase authorization.
    - `schema` EsimIdentificationSchema, required: Complete JSON Schema draft 2020-12 document for customer-side identification validation. It declares $schema, type, title, description, properties, required, and additionalProperties. Property definitions use string or object types, standard format, pattern, minLength, maxLength, enum, and nested object keywords. Enable format assertions in your validator for email addresses and dates. Every country requires first_name, last_name, and email. Other customer-owned properties are allowed, so one details object can satisfy several countries. Bird does not receive or verify the values. Document references are opaque identifiers in customer-managed storage, not Bird upload IDs or required URLs.

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Insufficient permissions
- `404`: Resource not found
- `422`: The request has invalid field values, violates a business rule, or carries a query parameter the endpoint does not declare. Field validation errors use `type: validation_error` and include the affected fields in `details`. Business-rule errors identify the failed rule in `type`.
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/messagebird/apis/bird-api.md) · [All operations](https://skmtc.dev/messagebird/apis/bird-api/llms.txt) · [OpenAPI document](https://skmtc.dev/messagebird/apis/bird-api/revisions/6dfce1179799?raw)
