Skip to main content
Glama

eSIM status and usage

get_esim_status
Read-onlyIdempotent

Check an eSIM's status, expiry, install details (LPA string), and data usage for each package plus the total, using an esim_id from purchase or order history.

Instructions

Read an eSIM's status, expiry, install details (LPA string) and data usage for every package on it (the base plan plus any top-ups), with an eSIM-level total.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
esim_idYesesim_... id from purchase_esim or list_orders

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
esimYes
usageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "esim": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "activation_code": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "charged_price_cents": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        "completed_at": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "countries": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "created_at": {
      +          "type": "string"
      +        },
      +        "currency": {
      +          "const": "USD",
      +          "type": "string"
      +        },
      +        "data_limit_gb": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "data_unlimited": {
      +          "type": "boolean"
      +        },
      +        "expires_at": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "iccid": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "id": {
      +          "type": "string"
      +        },
      +        "is_topup": {
      +          "type": "boolean"
      +        },
      +        "parent_order_id": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "product_id": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "qr_code_url": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "routing_location": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "smdp_address": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "status": {
      +          "enum": [
      +            "processing",
      +            "completed",
      +            "cancelled",
      +            "refunded",
      +            "expired"
      +          ],
      +          "type": "string"
      +        },
      +        "validity_days": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "status",
      +        "product_id",
      +        "is_topup",
      +        "parent_order_id",
      +        "iccid",
      +        "activation_code",
      +        "qr_code_url",
      +        "smdp_address",
      +        "data_limit_gb",
      +        "data_unlimited",
      +        "validity_days",
      +        "countries",
      +        "routing_location",
      +        "charged_price_cents",
      +        "currency",
      +        "created_at",
      +        "completed_at",
      +        "expires_at"
      +      ],
      +      "type": "object"
      +    },
      +    "usage": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "esim_id": {
      +              "type": "string"
      +            },
      +            "esim_status": {
      +              "type": "string"
      +            },
      +            "packages": {
      +              "items": {
      +                "additionalProperties": {},
      +                "properties": {
      +                  "activation_date": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "expiration_date": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "percent_used": {
      +                    "type": "number"
      +                  },
      +                  "remaining_gb": {
      +                    "type": "number"
      +                  },
      +                  "remaining_mb": {
      +                    "type": "number"
      +                  },
      +                  "total_gb": {
      +                    "type": "number"
      +                  },
      +                  "total_mb": {
      +                    "type": "number"
      +                  },
      +                  "used_gb": {
      +                    "type": "number"
      +                  },
      +                  "used_mb": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "total_mb",
      +                  "total_gb",
      +                  "used_mb",
      +                  "used_gb",
      +                  "remaining_mb",
      +                  "remaining_gb",
      +                  "percent_used",
      +                  "activation_date",
      +                  "expiration_date"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "esim_id",
      +            "esim_status",
      +            "packages"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "esim",
      +    "usage"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changedv1.1.8
    • addedInput schema / properties / esim_id / description
      Added value: +"esim_... id from purchase_esim or list_orders"
    • addedInput schema / properties / esim_id / pattern
      Added value: +"^(?:esim_[A-Za-z0-9_-]{1,64})$"
  3. First observedv1.1.3

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description goes beyond them by disclosing the return shape in behavioral terms: aggregation across the base plan plus top-ups, with an eSIM-level total, which tells the agent how results are grouped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense but front-loaded sentence that leads with the read action and enumerates the returned fields; no filler. It is slightly run-on with the parenthetical, but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description helpfully clarifies the aggregation structure. The only shortfall is the absence of when-to-use context relative to the other eSIM read tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single esim_id parameter already documents its pattern and origin. The description adds no parameter-level detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (an eSIM's status) and enumerates exactly what is exposed: status, expiry, install details (LPA string), and per-package data usage. This clearly separates it from siblings like get_esim_qr (install artifact) or purchase_esim/topup_esim (mutations).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the read-only nature and the resource named, but the description never states when to prefer this tool over get_esim_qr or get_rental, nor any prerequisite such as needing a valid esim_id first. No explicit when/when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.