---
title: "Get country identification requirements for an eSIM offer"
canonical: "https://bird.com/docs/api/reference/get-esim-offer-requirements"
---

# Get country identification requirements for an eSIM offer

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

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.

## Code samples

**CLI**

```sh
bird esim offers requirements <offer-id>
```

Examples: [CLI](/docs/api/reference/get-esim-offer-requirements.cli.md) · [MCP](/docs/api/reference/get-esim-offer-requirements.mcp.md) · [cURL](/docs/api/reference/get-esim-offer-requirements.curl.md)

## Example response `200`

```json
{
  "countries": [
    {
      "country_code": "US"
    }
  ]
}
```

## Path parameters

- `offer_id` (string): Offer ID.

## Response body

- `countries` (array of object, required)
- `countries.country_code` (string, required): ISO 3166-1 alpha-2 country code.
- `countries.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.
- `countries.schema` (object, 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.

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
