Update an eSIM
/v1/esim/sims/{esim_id}bird esim update <esim-id> --tags category=welcomecurl -X PATCH "https://us1.platform.bird.com/v1/esim/sims/{esim_id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tags": [
{
"name": "category",
"value": "welcome"
}
]
}'{
"subscriber_id": "esub_01krdgeqcxet5s7t44vh8rt9mg",
"id": "esm_01krdgeqcxet5s7t44vh8rt9mg",
"status": "provisioning",
"mode": "live",
"iccid": "8944500212345678912",
"phone_number": "+31612345678",
"capabilities": {
"data": "yes",
"sms_inbound": "yes",
"sms_outbound": "yes",
"voice_inbound": "yes",
"voice_outbound": "yes"
},
"order_id": "eor_01krdgeqcxet5s7t44vh8rt9mg",
"display_name": "Amsterdam trip, order 8812",
"installation": {
"state": "pending"
},
"packages": [
{
"id": "epk_01krdgeqcxet5s7t44vh8rt9mg",
"order_id": "eor_01krdgeqcxet5s7t44vh8rt9mg",
"offer_id": "eof_01krdgeqcxet5s7t44vh8rt9mg",
"zone_id": "ezn_01krdgeqcxet5s7t44vh8rt9mg",
"zone_name": "Europe",
"countries": [
"US"
],
"status": "provisioning",
"speed": "full",
"price": {
"amount": "0.00995",
"currency_code": "USD"
}
}
],
"zone_balances": [
{
"zone_id": "ezn_01krdgeqcxet5s7t44vh8rt9mg"
}
],
"available_actions": [
{
"action": "suspend",
"operation": "suspendEsim",
"reason": "permission_denied",
"requires": [
"acknowledge_balance_forfeit"
]
}
],
"package_limit": 3,
"usage_available": true,
"balance_reporting": "available",
"last_attachment": {
"country_code": "US"
},
"tags": [
{
"name": "category",
"value": "welcome"
}
],
"created_at": "2026-05-20T09:14:52Z",
"updated_at": "2026-05-25T16:42:01Z"
}
Updates the eSIM's display name, tags, or metadata. Lifecycle and connectivity are managed through the dedicated endpoints.
Parameters
esim_idstringeSIM ID.
Request Payload
display_nameFree-text label for your own reference. Null clears it.
metadataReplaces the eSIM's metadata. Maximum 2 KB serialized.
Response Payload
subscriber_idThe assigned service user, or null when the eSIM has no person assignment.
idstatusmodeiccidICCID of the eSIM profile. Null while no profile is allocated yet, for example when provisioning failed before allocation.
phone_numberPhone number attached to this eSIM, in E.164 format, as the supplier reports it. Null while none is on record: a data-only plan comes with no number, and a plan that includes one reports it after provisioning.
capabilitiesorder_idThe order that created this eSIM.
display_nameFree-text label for your own reference, for example a traveler or order reference.
installationShow child attributes
installation.statepending: not yet downloaded by a device; downloaded: downloaded but not installed; installed: installed on the device; removed: deleted from the device; whether the profile can be installed again depends on the carrier profile, so treat removal as final; error: download or installation failed, see error_reason. Open enum: installation state is reported by the device, so additional states may be added over time. Treat an unrecognized value as a future state, not an error.
Possible values (may grow over time): pending, downloaded, installed, removed, error
installation.updated_atWhen the installation state last changed. Null before the first device interaction.
installation.error_reasonHuman-readable reason installation failed, for example an ineligible device or an exhausted download limit. Null unless state is error.
zone_balancesRemaining data per coverage zone, combined across the zone's packages. Derived; the packages are the source of truth.
available_actionsActions currently available to you on this eSIM, with reasons for unavailable actions. Returned by the individual eSIM read. Use this to display controls and explain restrictions. Each action rechecks permissions and state when submitted, so availability is not a guarantee of success.
package_limitMaximum number of concurrent data packages this eSIM can hold, counted across all zones; several packages may share one zone. Enforced when packages are added.
usage_availableWhether daily usage history is supported for this eSIM. The daily usage endpoint is currently unavailable; read package balances for reported consumption.
balance_reportingWhether ongoing package consumption reporting is available. Separate from daily usage history. Null package consumption values mean no measurement is available.
ready_untilActivate (first network use) before this moment or the eSIM expires. Null once activated.
activated_atWhen the eSIM first used a mobile network. Null until then.
active_untilWhen the eSIM's service period ends. The period starts at activation and data packages cannot outlive it. Null until activated.
last_attachmentMost recent network attachment, or null before first attach.
tagsTags for routing, filtering, and stats grouping, echoed on webhook events for the eSIM.
metadataYour own key-value data, echoed on webhook events for the eSIM. Maximum 2 KB serialized.
created_atupdated_atRelated resources
Continue with the documentation, guides and examples for this topic.