{"openapi":"3.1.0","info":{"title":"esimoa Partner API","version":"1.0.0","description":"Search and compare travel eSIM plans sold by esimoa. Each result includes a purchase link with your partner code; you earn a commission on purchases made through it. Docs: https://www.esimoa.com/en/developers/docs"},"servers":[{"url":"https://api.esimoa.com"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}},"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"]}}},"paths":{"/v1/esims":{"get":{"operationId":"searchEsims","summary":"Search and compare eSIM plans","parameters":[{"name":"country","in":"query","schema":{"type":"string"},"description":"ISO alpha-2 destination, e.g. JP"},{"name":"days","in":"query","schema":{"type":"integer","minimum":1},"description":"Exact validity in days"},{"name":"minDays","in":"query","schema":{"type":"integer","minimum":1}},{"name":"maxDays","in":"query","schema":{"type":"integer","minimum":1}},{"name":"dataGb","in":"query","schema":{"type":"number","minimum":0},"description":"Minimum data in GB"},{"name":"unlimited","in":"query","schema":{"type":"boolean"},"description":"Unlimited-data plans only"},{"name":"sort","in":"query","schema":{"type":"string","enum":["recommended","price","data"],"default":"recommended"},"description":"recommended = esimoa ranking (sales-aware), price = lowest price first, data = most data first"},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"description":"Rounded down to a multiple of limit"},{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ko","en","ja","zh-CN","zh-TW"],"default":"en"},"description":"Language of country names and of the purchase page linked in `url`."}],"responses":{"200":{"description":"Matching plans","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Esim"}},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"string"}}}}}},"401":{"description":"Missing or invalid API key"},"429":{"description":"Rate limit exceeded"}}}},"/v1/esims/{id}":{"get":{"operationId":"getEsim","summary":"Get one eSIM plan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ko","en","ja","zh-CN","zh-TW"],"default":"en"},"description":"Language of country names and of the purchase page linked in `url`."}],"responses":{"200":{"description":"The plan","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"item":{"$ref":"#/components/schemas/Esim"}}}}}},"404":{"description":"Not found"}}}},"/v1/countries":{"get":{"operationId":"listCountries","summary":"Countries with eSIM plans on sale","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Filter by name (any language) or ISO code"},{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ko","en","ja","zh-CN","zh-TW"],"default":"en"},"description":"Language of country names and of the purchase page linked in `url`."}],"responses":{"200":{"description":"Countries","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"items":{"type":"array","items":{"type":"object","properties":{"countryCode":{"type":"string"},"name":{"type":"string"},"planCount":{"type":"integer"},"lowestPriceKrw":{"type":["integer","null"]},"url":{"type":"string","format":"uri"}}}}}}}}}}}}}}