{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/esimoa-com/json-schema/esimoa-com-esim-schema.json",
  "title": "Esim",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/esimoa-com-openapi.yml#/components/schemas/Esim",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Plan id"
    },
    "title": {
      "type": "string",
      "description": "Human readable summary, e.g. \"Japan · 5GB · 7 days\""
    },
    "countryCode": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO 3166-1 alpha-2 (null for multi-country plans)"
    },
    "countryName": {
      "type": [
        "string",
        "null"
      ]
    },
    "coverageCountries": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "isMultiCountry": {
      "type": "boolean"
    },
    "dataAmount": {
      "type": "string",
      "description": "Data as shown to customers, e.g. \"5GB\" or \"1GB/day\""
    },
    "dataAmountGB": {
      "type": [
        "number",
        "null"
      ]
    },
    "isUnlimited": {
      "type": "boolean"
    },
    "dataType": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "total",
        "daily",
        null
      ]
    },
    "validityDays": {
      "type": "integer"
    },
    "priceKrw": {
      "type": "integer",
      "description": "Price in KRW (tax included)"
    },
    "currency": {
      "type": "string",
      "enum": [
        "KRW"
      ]
    },
    "provider": {
      "type": "string"
    },
    "networkType": {
      "type": [
        "string",
        "null"
      ]
    },
    "hotspot": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "hasLocalNumber": {
      "type": "boolean"
    },
    "isLocalNetwork": {
      "type": "boolean"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Purchase link. Carries your partner code — only purchases made through this link earn commission."
    }
  },
  "required": [
    "id",
    "title",
    "dataAmount",
    "validityDays",
    "priceKrw",
    "currency",
    "url"
  ]
}