{"openapi":"3.0.3","info":{"title":"FullDatos API v2","description":"B2B eSIM marketplace API for eSIMs, bundles, orders, and user management. Authenticate with `x-api-key` and `x-api-secret` headers.\n\n[Request API Keys](mailto:support@fulldatos.app?subject=API%20Key%20Request)","version":"1.0.0","contact":{"name":"API Support","email":"support@fulldatos.app"}},"components":{"schemas":{}},"paths":{"/users":{"post":{"summary":"Create a new user","tags":["Users"],"description":"Creates a new user for your organization. Requires authentication. Optionally provide a reference_id; if not provided, one will be auto-generated.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference_id":{"type":"string"}}}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"user_id":{"type":"string"},"esims_amount":{"type":"number"},"orders_amount":{"type":"number"},"last_order":{"type":"string"},"last_esim":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"esim_ids":{"type":"array","items":{"type":"string"}},"order_ids":{"type":"array","items":{"type":"string"}}},"required":["user_id","esims_amount","orders_amount","last_order","last_esim","created_at","updated_at","esim_ids","order_ids"]}},"required":["success","message","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}},"get":{"summary":"Get all users","tags":["Users"],"description":"Retrieves all users associated with your organization. Requires authentication. You can filter by a specific user using the reference_id query parameter. Returns a list of users with their details.","parameters":[{"schema":{"type":"string"},"in":"query","name":"reference_id","required":false},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"limit","required":false,"description":"Maximum number of users to return"},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"page","required":false,"description":"Page number. Page 1 returns the first set of results."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string"},"esims_amount":{"type":"number"},"orders_amount":{"type":"number"},"last_order":{"type":"string"},"last_esim":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"esim_ids":{"type":"array","items":{"type":"string"}},"order_ids":{"type":"array","items":{"type":"string"}}},"required":["user_id","esims_amount","orders_amount","last_order","last_esim","created_at","updated_at","esim_ids","order_ids"]}}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/users/{user_id}":{"get":{"summary":"Get user by ID","tags":["Users"],"description":"Retrieves a user by their ID. Requires authentication. Returns the user details including their esims and orders.","parameters":[{"schema":{"type":"string"},"in":"path","name":"user_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"user_id":{"type":"string"},"esims_amount":{"type":"number"},"orders_amount":{"type":"number"},"last_order":{"type":"string"},"last_esim":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"esims":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"provider":{"type":"string"},"qr_link":{"type":"string"},"installation_status":{"type":"boolean"},"bundles_count":{"type":"number"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"unlimited":{"type":"boolean"}},"required":["sku","bundle_description_spanish","bundle_description_english","unlimited"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]}},"required":["esim_id","created_at","updated_at","order_id","qr_link","installation_status","bundles_count","expired","fulfilled","refund_status"]}},"orders":{"type":"array","items":{"type":"object","properties":{"order_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"description":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"products_count":{"type":"number"},"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"top_up":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"unlimited":{"type":"boolean"}},"required":["sku","bundle_description_spanish","bundle_description_english","unlimited"]}}},"required":["esim_id","top_up","fulfilled","refund_status","bundles"]}}},"required":["order_id","created_at","updated_at","description","price","currency","fulfilled","refund_status","products_count","products"]}}},"required":["user_id","esims_amount","orders_amount","last_order","last_esim","created_at","updated_at","esims","orders"]}},"required":["success","data"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}},"put":{"summary":"Update a user's ID","tags":["Users"],"description":"Updates an existing user's reference ID. Requires authentication. Only users within your organization can be updated. Current user ID is used to update the user to give it a new user ID","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference_id":{"type":"string"}},"required":["reference_id"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"user_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference_id":{"type":"string"}},"required":["reference_id"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}},"delete":{"summary":"Delete a user","tags":["Users"],"description":"Permanently deletes a user from your organization using their user_id. Requires authentication. This action cannot be undone. All associated data will be removed from the system.","parameters":[{"schema":{"type":"string"},"in":"path","name":"user_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/orders":{"post":{"summary":"Create a new order","tags":["Orders"],"description":"Creates a new order for eSIM provisioning. Requires authentication. Specify the user, bundle offer, and order details. The system will process the order, provision the eSIM from the provider, and return the order details including the eSIM information (ICCID, activation codes, etc.).","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"sku":{"type":"array","items":{"type":"string"}},"subscription":{"type":"object","properties":{"cycles":{"minimum":1,"description":"Fixed term: total number of cycles including the first. Omit for an open-ended subscription.","type":"number"},"start":{"description":"When the first cycle activates. Defaults to \"now\".","type":"string","enum":["now","later"]}}},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}}},"required":["sku"]}},"user":{"type":"string"},"create_user":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{}}},"required":["products"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"order_id":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"qr_link":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}},"sku":{"type":"array","items":{"type":"string"}},"new":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}}},"required":["esim_id","qr_link","bundles","sku","new","fulfilled","refund_status","profile"]}},"user_id":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled":{"type":"boolean"},"processing_status":{"type":"string","enum":["processing","successful","failed"]},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"price":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]}},"required":["order_id","products","user_id","description","created_at","updated_at","fulfilled","processing_status","refund_status","price","currency"]},"credit_info":{"type":"object","properties":{"currency":{"type":"string","enum":["usd","mxn"]},"balance_before":{"type":"number"},"balance_after":{"type":"number"}},"required":["currency","balance_before","balance_after"]}},"required":["success","message","data"]}}}},"206":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"order_id":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"qr_link":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}},"sku":{"type":"array","items":{"type":"string"}},"new":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}}},"required":["esim_id","qr_link","bundles","sku","new","fulfilled","refund_status","profile"]}},"user_id":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled":{"type":"boolean"},"processing_status":{"type":"string","enum":["processing","successful","failed"]},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"price":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]}},"required":["order_id","products","user_id","description","created_at","updated_at","fulfilled","processing_status","refund_status","price","currency"]},"credit_info":{"type":"object","properties":{"currency":{"type":"string","enum":["usd","mxn"]},"balance_before":{"type":"number"},"balance_after":{"type":"number"}},"required":["currency","balance_before","balance_after"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"required_amount":{"type":"number"},"available_balance":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]}},"required":["success","message","required_amount","available_balance","currency"]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"502":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"order_id":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"qr_link":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}},"sku":{"type":"array","items":{"type":"string"}},"new":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}}},"required":["esim_id","qr_link","bundles","sku","new","fulfilled","refund_status","profile"]}},"user_id":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled":{"type":"boolean"},"processing_status":{"type":"string","enum":["processing","successful","failed"]},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"price":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]}},"required":["order_id","products","user_id","description","created_at","updated_at","fulfilled","processing_status","refund_status","price","currency"]}},"required":["success","message","data"]}}}}}},"get":{"summary":"Get all orders","tags":["Orders"],"description":"Retrieves all orders for your organization. Requires authentication. You can filter orders by user using the query parameter. Returns a list of orders with their status, eSIM details, bundle information, and transaction history.","parameters":[{"schema":{"type":"string"},"in":"query","name":"order_id","required":false},{"schema":{"type":"string"},"in":"query","name":"start_date","required":false},{"schema":{"type":"string"},"in":"query","name":"end_date","required":false},{"schema":{"type":"string"},"in":"query","name":"user","required":false},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"limit","required":false,"description":"Maximum number of orders to return"},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"page","required":false,"description":"Page number. Page 1 returns the first set of results."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"order_id":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"qr_link":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}},"sku":{"type":"array","items":{"type":"string"}},"new":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}}},"required":["esim_id","qr_link","bundles","sku","new","fulfilled","refund_status","profile"]}},"user_id":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled":{"type":"boolean"},"processing_status":{"type":"string","enum":["processing","successful","failed"]},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"price":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]}},"required":["order_id","products","user_id","description","created_at","updated_at","fulfilled","processing_status","refund_status","price","currency"]}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"total":{"type":"number"}},"required":["page","limit","total"]}},"required":["success","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/orders/{order_id}":{"get":{"summary":"Get order by ID","tags":["Orders"],"description":"Retrieves an order by its order_id from your organization. Requires authentication. Returns the order details including status, eSIM information, bundle details, and transaction history.","parameters":[{"schema":{"type":"string"},"in":"path","name":"order_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"order_id":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"qr_link":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}},"sku":{"type":"array","items":{"type":"string"}},"new":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}}},"required":["esim_id","qr_link","bundles","sku","new","fulfilled","refund_status","profile"]}},"user_id":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"fulfilled":{"type":"boolean"},"processing_status":{"type":"string","enum":["processing","successful","failed"]},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"price":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]}},"required":["order_id","products","user_id","description","created_at","updated_at","fulfilled","processing_status","refund_status","price","currency"]}},"required":["success","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/esims":{"get":{"summary":"Get all eSIMs","tags":["eSIMs"],"description":"Retrieves all eSIMs associated with your organization. Requires authentication. Returns a list of all eSIMs with their details including eSIM ID, activation status, and associated user information.","parameters":[{"schema":{"type":"string"},"in":"query","name":"esim_id","required":false},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"limit","required":false,"description":"Maximum number of eSIMs to return"},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"page","required":false,"description":"Page number. Page 1 returns the first set of results."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"user_id":{"type":"string"},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}},"apn":{"type":"string"},"qr_link":{"type":"string"},"smdp_address":{"type":"string"},"activation_code":{"type":"string"},"full_activation_code":{"type":"string"},"apple_instalation_link":{"type":"string"},"installation_status":{"type":"boolean"},"detailed_installation_status":{"type":"string"},"installation_date":{"format":"date-time","type":"string"},"successful_installations":{"type":"number"},"successful_installations_limit":{"type":"number"},"expiration_date":{"format":"date-time","type":"string"},"last_use":{"format":"date-time","type":"string"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"unlimited":{"type":"boolean"},"days":{"type":"number"},"capacity":{"type":"number"}},"required":["sku","bundle_id","provider_bundle_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","unlimited","days","capacity"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"deleted":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"source":{"type":"string"},"date":{"format":"date-time","type":"string"}},"required":["type","date"]}},"error_message":{"type":"string"},"bundles":{"type":"array","items":{"type":"string"}}},"required":["esim_id","created_at","updated_at","order_id","apn","qr_link","smdp_address","activation_code","full_activation_code","apple_instalation_link","installation_status","detailed_installation_status","expiration_date","last_use","expired","fulfilled","refund_status","deleted","changes","bundles"]}}},"required":["success","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/esims/{esim_id}":{"get":{"summary":"Get eSIM status","tags":["eSIMs"],"description":"Retrieves the current status and details of an eSIM directly from the provider. Requires authentication. Provide the eSIM ID to get real-time information including activation status, data usage, remaining balance, and network connectivity. This endpoint queries the provider API for the most up-to-date information.","parameters":[{"schema":{"type":"string"},"in":"path","name":"esim_id","required":true,"description":"eSIM identifier"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"user_id":{"type":"string"},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}},"apn":{"type":"string"},"qr_link":{"type":"string"},"smdp_address":{"type":"string"},"activation_code":{"type":"string"},"full_activation_code":{"type":"string"},"apple_instalation_link":{"type":"string"},"installation_status":{"type":"boolean"},"detailed_installation_status":{"type":"string"},"installation_date":{"format":"date-time","type":"string"},"successful_installations":{"type":"number"},"successful_installations_limit":{"type":"number"},"expiration_date":{"format":"date-time","type":"string"},"last_use":{"format":"date-time","type":"string"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"unlimited":{"type":"boolean"},"days":{"type":"number"},"capacity":{"type":"number"}},"required":["sku","bundle_id","provider_bundle_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","unlimited","days","capacity"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"deleted":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"source":{"type":"string"},"date":{"format":"date-time","type":"string"}},"required":["type","date"]}},"error_message":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"regional":{"type":"boolean"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"expired":{"type":"boolean"},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","regional","bundle_id","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","fulfilled","refund_status","expired","voice_allowed","profile","countries_included","created_at","updated_at"]}}},"required":["esim_id","created_at","updated_at","order_id","apn","qr_link","smdp_address","activation_code","full_activation_code","apple_instalation_link","installation_status","detailed_installation_status","expiration_date","last_use","expired","fulfilled","refund_status","deleted","changes","bundles"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"user_id":{"type":"string"},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}},"apn":{"type":"string"},"qr_link":{"type":"string"},"smdp_address":{"type":"string"},"activation_code":{"type":"string"},"full_activation_code":{"type":"string"},"apple_instalation_link":{"type":"string"},"installation_status":{"type":"boolean"},"detailed_installation_status":{"type":"string"},"installation_date":{"format":"date-time","type":"string"},"successful_installations":{"type":"number"},"successful_installations_limit":{"type":"number"},"expiration_date":{"format":"date-time","type":"string"},"last_use":{"format":"date-time","type":"string"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"unlimited":{"type":"boolean"},"days":{"type":"number"},"capacity":{"type":"number"}},"required":["sku","bundle_id","provider_bundle_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","unlimited","days","capacity"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"deleted":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"source":{"type":"string"},"date":{"format":"date-time","type":"string"}},"required":["type","date"]}},"error_message":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"regional":{"type":"boolean"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"expired":{"type":"boolean"},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","regional","bundle_id","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","fulfilled","refund_status","expired","voice_allowed","profile","countries_included","created_at","updated_at"]}}},"required":["esim_id","created_at","updated_at","order_id","apn","qr_link","smdp_address","activation_code","full_activation_code","apple_instalation_link","installation_status","detailed_installation_status","expiration_date","last_use","expired","fulfilled","refund_status","deleted","changes","bundles"]}},"required":["success","message"]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"user_id":{"type":"string"},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}},"apn":{"type":"string"},"qr_link":{"type":"string"},"smdp_address":{"type":"string"},"activation_code":{"type":"string"},"full_activation_code":{"type":"string"},"apple_instalation_link":{"type":"string"},"installation_status":{"type":"boolean"},"detailed_installation_status":{"type":"string"},"installation_date":{"format":"date-time","type":"string"},"successful_installations":{"type":"number"},"successful_installations_limit":{"type":"number"},"expiration_date":{"format":"date-time","type":"string"},"last_use":{"format":"date-time","type":"string"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"unlimited":{"type":"boolean"},"days":{"type":"number"},"capacity":{"type":"number"}},"required":["sku","bundle_id","provider_bundle_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","unlimited","days","capacity"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"deleted":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"source":{"type":"string"},"date":{"format":"date-time","type":"string"}},"required":["type","date"]}},"error_message":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"regional":{"type":"boolean"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"expired":{"type":"boolean"},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","regional","bundle_id","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","fulfilled","refund_status","expired","voice_allowed","profile","countries_included","created_at","updated_at"]}}},"required":["esim_id","created_at","updated_at","order_id","apn","qr_link","smdp_address","activation_code","full_activation_code","apple_instalation_link","installation_status","detailed_installation_status","expiration_date","last_use","expired","fulfilled","refund_status","deleted","changes","bundles"]}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"502":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"user_id":{"type":"string"},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}},"apn":{"type":"string"},"qr_link":{"type":"string"},"smdp_address":{"type":"string"},"activation_code":{"type":"string"},"full_activation_code":{"type":"string"},"apple_instalation_link":{"type":"string"},"installation_status":{"type":"boolean"},"detailed_installation_status":{"type":"string"},"installation_date":{"format":"date-time","type":"string"},"successful_installations":{"type":"number"},"successful_installations_limit":{"type":"number"},"expiration_date":{"format":"date-time","type":"string"},"last_use":{"format":"date-time","type":"string"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"unlimited":{"type":"boolean"},"days":{"type":"number"},"capacity":{"type":"number"}},"required":["sku","bundle_id","provider_bundle_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","unlimited","days","capacity"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"deleted":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"source":{"type":"string"},"date":{"format":"date-time","type":"string"}},"required":["type","date"]}},"error_message":{"type":"string"},"bundles":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"regional":{"type":"boolean"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"expired":{"type":"boolean"},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","regional","bundle_id","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","fulfilled","refund_status","expired","voice_allowed","profile","countries_included","created_at","updated_at"]}}},"required":["esim_id","created_at","updated_at","order_id","apn","qr_link","smdp_address","activation_code","full_activation_code","apple_instalation_link","installation_status","detailed_installation_status","expiration_date","last_use","expired","fulfilled","refund_status","deleted","changes","bundles"]}},"required":["success","message"]}}}}}},"patch":{"summary":"Update eSIM metadata or deleted flag","tags":["eSIMs"],"description":"Updates an eSIM you own. Requires authentication. Send esim_metadata to set your own key/value labels (up to 5 pairs; each value a short string or a number of at most 9 digits) and/or deleted to hide or restore the eSIM. At least one of the two is required. esim_metadata replaces the stored object rather than merging into it, so send the full set you want to keep and send {} to clear it. Metadata is returned on every eSIM response. It can also be set when the eSIM is first ordered, through the order product field of the same name.","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"minProperties":1,"type":"object","properties":{"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"deleted":{"description":"Soft-delete flag. true hides the eSIM, false restores it. Both are recorded in the eSIM changes history.","type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"esim_id","required":true,"description":"eSIM identifier"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"esim_id":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"},"order_id":{"type":"string"},"esim_metadata":{"additionalProperties":true,"description":"Up to 5 key/value pairs of your own, e.g. {\"name\":\"rodrigo\",\"lastname\":\"gonzales\"}. Keys are strings of at most 40 characters. Each value is either a string of at most 64 characters or a number of at most 9 digits.","type":"object","properties":{}},"user_id":{"type":"string"},"provider":{"type":"string"},"profile":{"type":"array","items":{"type":"string"}},"apn":{"type":"string"},"qr_link":{"type":"string"},"smdp_address":{"type":"string"},"activation_code":{"type":"string"},"full_activation_code":{"type":"string"},"apple_instalation_link":{"type":"string"},"installation_status":{"type":"boolean"},"detailed_installation_status":{"type":"string"},"installation_date":{"format":"date-time","type":"string"},"successful_installations":{"type":"number"},"successful_installations_limit":{"type":"number"},"expiration_date":{"format":"date-time","type":"string"},"last_use":{"format":"date-time","type":"string"},"last_bundle":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"unlimited":{"type":"boolean"},"days":{"type":"number"},"capacity":{"type":"number"}},"required":["sku","bundle_id","provider_bundle_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","unlimited","days","capacity"]},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"deleted":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"source":{"type":"string"},"date":{"format":"date-time","type":"string"}},"required":["type","date"]}},"error_message":{"type":"string"},"bundles":{"type":"array","items":{"type":"string"}}},"required":["esim_id","created_at","updated_at","order_id","apn","qr_link","smdp_address","activation_code","full_activation_code","apple_instalation_link","installation_status","detailed_installation_status","expiration_date","last_use","expired","fulfilled","refund_status","deleted","changes","bundles"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/esims/history/{esim_id}":{"get":{"summary":"Get eSIM history","tags":["eSIMs"],"description":"Retrieves the history of actions/events for an eSIM directly from the provider (eSIMGo v2.5). Requires authentication. Provide the eSIM ID to get the chronological list of events such as bundle assignments, first attachment, first use, and utilisation alerts. This endpoint queries the provider API in real time.","parameters":[{"schema":{"type":"string"},"in":"path","name":"esim_id","required":true,"description":"eSIM identifier"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"date":{"type":"string"},"bundleName":{"type":"string"},"alertType":{"type":"string"},"bundle_name_spanish":{"anyOf":[{"type":"null"},{"type":"string"}]},"bundle_name_english":{"anyOf":[{"type":"null"},{"type":"string"}]}},"required":["name","date"]}},"rows":{"type":"number"},"pageCount":{"type":"number"},"pageSize":{"type":"number"}},"required":["actions"]}},"required":["success","message","data"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"502":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/esims/location/{esim_id}":{"get":{"summary":"Get eSIM location","tags":["eSIMs"],"description":"Retrieves the last-seen location of an eSIM directly from the provider (eSIMGo v2.5). Requires authentication. Provide the eSIM ID to get the network and country where the eSIM was last seen, along with the timestamp. This endpoint queries the provider API in real time.","parameters":[{"schema":{"type":"string"},"in":"path","name":"esim_id","required":true,"description":"eSIM identifier"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"mobileNetworkCode":{"type":"string"},"networkName":{"type":"string"},"networkBrandName":{"type":"string"},"country":{"type":"string"},"lastSeen":{"type":"string"}}}},"required":["success","message","data"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"502":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/esims/delete/{esim_id}":{"patch":{"summary":"Delete eSIM","tags":["eSIMs"],"description":"Soft-deletes an eSIM by setting the deleted flag to true.","parameters":[{"schema":{"type":"string","enum":["user","team"]},"in":"query","name":"deleted_by","required":false,"description":"Who initiated the deletion"},{"schema":{"type":"string"},"in":"path","name":"esim_id","required":true,"description":"eSIM identifier"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/bundles":{"get":{"summary":"Get all bundles","tags":["Bundles"],"description":"Retrieves all purchased bundles associated with your organization. Requires authentication. Returns a list of all bundles with their details including data usage, validity, status, and associated eSIM information.","parameters":[{"schema":{"type":"string"},"in":"query","name":"bundle_id","required":false},{"schema":{"type":"string"},"in":"query","name":"esim_id","required":false},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"limit","required":false,"description":"Maximum number of bundles to return"},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"page","required":false,"description":"Page number. Page 1 returns the first set of results."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/bundles/{bundle_id}":{"get":{"summary":"Get bundle by ID","tags":["Bundles"],"description":"Retrieves the current status and details of a specific bundle directly from the provider. Requires authentication. Provide the bundle identifier to get real-time information including data usage, remaining balance, validity period, and activation status. This endpoint queries the provider API for the most up-to-date information.","parameters":[{"schema":{"type":"string"},"in":"path","name":"bundle_id","required":true,"description":"Bundle identifier"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"sku":{"type":"string"},"bundle_id":{"type":"string"},"provider_bundle_id":{"type":"string"},"override_provider_bundle":{"type":"string"},"esim_id":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"regional":{"type":"boolean"},"activation_status":{"type":"boolean"},"activation_date":{"format":"date-time","type":"string"},"expiration_date":{"format":"date-time","type":"string"},"activation_window_expiration_date":{"format":"date-time","type":"string"},"unlimited":{"type":"boolean"},"unlimited_data":{"type":"object","properties":{"daily_use_limit":{"type":"number"},"speed_limit":{"type":"number"},"day_use":{"type":"number"},"day_remaining":{"type":"number"},"day_percentage":{"type":"number"}},"required":["daily_use_limit","speed_limit","day_use","day_remaining","day_percentage"]},"days":{"type":"number"},"capacity":{"type":"number"},"remaining":{"type":"number"},"used":{"type":"number"},"percentage":{"type":"number"},"consumption_per_day":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_unlimited_24hrWindow":{"type":"array","items":{"type":"object","properties":{"day_use":{"type":"number"},"day_percentage":{"type":"number"},"date":{"format":"date-time","type":"string"}},"required":["day_use","day_percentage","date"]}},"consumption_recorded_at":{"format":"date-time","type":"string"},"expired":{"type":"boolean"},"fulfilled":{"type":"boolean"},"refund_status":{"type":"string","enum":["none","refunded"]},"error_message":{"type":"string"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sku","bundle_id","esim_id","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_iso_code","regional","activation_status","activation_window_expiration_date","unlimited","unlimited_data","days","capacity","remaining","used","percentage","expired","fulfilled","refund_status","voice_allowed","profile","countries_included","created_at","updated_at"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/refund":{"post":{"summary":"Refund bundles, eSIMs, or orders","tags":["Refunds"],"description":"Unified refund endpoint. Supports 4 modes:\n\n1. **Single eSIM (all bundles):** `{ \"esim_id\": \"...\" }`\n2. **Specific bundles:** `{ \"esim_id\": \"...\", \"bundle_ids\": [\"...\"] }`\n3. **Entire order:** `{ \"order_id\": \"...\" }`\n4. **Specific eSIMs of an order:** `{ \"order_id\": \"...\", \"esim_ids\": [\"...\"] }`\n\nProvide either `esim_id` OR `order_id`, not both. Credits are returned to the organization balance automatically.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"esim_id":{"description":"eSIM identifier. Refund this eSIM (all bundles or specific ones via bundle_ids).","type":"string"},"bundle_ids":{"minItems":1,"description":"Only valid together with esim_id. If omitted, all bundles of the eSIM are refunded.","type":"array","items":{"description":"Bundle IDs to refund","type":"string"}},"order_id":{"description":"Order document ID (_id). Refund the entire order or specific eSIMs via esim_ids.","type":"string"},"esim_ids":{"minItems":1,"description":"Only valid together with order_id. If omitted, all eSIMs in the order are refunded.","type":"array","items":{"description":"eSIM identifiers to refund within the order","type":"string"}},"added_context":{"description":"Optional free-text context (e.g. refund reason) saved to the admin-log added_context.","type":"string"},"account_email":{"description":"Account email. If provided, it will be used to populate the admin-log account_email.","type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"status":{"type":"number"},"success":{"type":"boolean"},"message":{"type":"string"},"bundle_results":{"type":"array","items":{"type":"object","properties":{"bundle_id":{"type":"string"},"refund_status":{"type":"string","enum":["none","refunded"]},"status":{"type":"number"},"success":{"type":"boolean"},"message":{"type":"string"}},"required":["bundle_id","refund_status","status","success","message"]}}},"required":["esim_id","refund_status","status","success","message"]}},"credit_info":{"type":"object","properties":{"currency":{"type":"string","enum":["usd","mxn"]},"balance_before":{"type":"number"},"balance_after":{"type":"number"}},"required":["currency","balance_before","balance_after"]}},"required":["success","message","results"]}}}},"206":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"status":{"type":"number"},"success":{"type":"boolean"},"message":{"type":"string"},"bundle_results":{"type":"array","items":{"type":"object","properties":{"bundle_id":{"type":"string"},"refund_status":{"type":"string","enum":["none","refunded"]},"status":{"type":"number"},"success":{"type":"boolean"},"message":{"type":"string"}},"required":["bundle_id","refund_status","status","success","message"]}}},"required":["esim_id","refund_status","status","success","message"]}},"credit_info":{"type":"object","properties":{"currency":{"type":"string","enum":["usd","mxn"]},"balance_before":{"type":"number"},"balance_after":{"type":"number"}},"required":["currency","balance_before","balance_after"]}},"required":["success","message"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"502":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"esim_id":{"type":"string"},"refund_status":{"type":"string","enum":["none","partially_refunded","refunded"]},"status":{"type":"number"},"success":{"type":"boolean"},"message":{"type":"string"},"bundle_results":{"type":"array","items":{"type":"object","properties":{"bundle_id":{"type":"string"},"refund_status":{"type":"string","enum":["none","refunded"]},"status":{"type":"number"},"success":{"type":"boolean"},"message":{"type":"string"}},"required":["bundle_id","refund_status","status","success","message"]}}},"required":["esim_id","refund_status","status","success","message"]}},"credit_info":{"type":"object","properties":{"currency":{"type":"string","enum":["usd","mxn"]},"balance_before":{"type":"number"},"balance_after":{"type":"number"}},"required":["currency","balance_before","balance_after"]}},"required":["success","message"]}}}}}}},"/credits/balance":{"get":{"summary":"Get organization credit balance","tags":["Credits"],"description":"Retrieves the current credit balance (USD and MXN) for the authenticated organization.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"organization_id":{"type":"string"},"balance_usd":{"type":"number"},"balance_mxn":{"type":"number"}},"required":["organization_id","balance_usd","balance_mxn"]}},"required":["success","data"]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/credits/transactions":{"get":{"summary":"Get credit transaction history","tags":["Credits"],"description":"Retrieves the credit transaction history for the authenticated organization. Supports filtering by currency and pagination.","parameters":[{"schema":{"type":"string","enum":["usd","mxn"]},"in":"query","name":"currency","required":false},{"schema":{"minimum":1,"maximum":100,"default":50,"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"minimum":0,"default":0,"type":"number"},"in":"query","name":"offset","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"transaction_type":{"type":"string","enum":["credit","debit"]},"amount":{"type":"number"},"currency":{"type":"string","enum":["usd","mxn"]},"balance_after":{"type":"number"},"description":{"type":"string"},"reference_type":{"type":"string","enum":["order","refund","manual"]},"reference_id":{"type":"string"},"created_at":{"type":"string"}},"required":["_id","transaction_type","amount","currency","balance_after","description","created_at"]}},"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"}},"required":["transactions","total","limit","offset"]}},"required":["success","data"]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/status":{"get":{"summary":"Get network statuses from last 31 days","tags":["Status"],"description":"Returns all network status entries created or updated in the last 31 days. Does not run health checks. Requires organization authentication.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"sector":{"type":"string","enum":["api_v2","platform_api","admin_platform_website","esim_connectivity","esim_installations","provider_a_api","provider_b_api","provider_c_api","provider_d_api","provider_e_api"]},"subtitle_spanish":{"type":"string"},"subtitle_english":{"type":"string"},"updates":{"type":"array","items":{"type":"object","properties":{"message_spanish":{"type":"string"},"message_english":{"type":"string"},"new_status":{"type":"string","enum":["fully_operational","monitoring","degraded","down"]},"date":{"format":"date-time","type":"string"},"updated_by":{"type":"string"}},"required":["message_spanish","message_english","new_status","date","updated_by"]}},"created_at":{"format":"date-time","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["sector","subtitle_spanish","subtitle_english","updates","created_at","updated_at"]}}},"required":["success","data"]}}}}}}},"/status/check":{"post":{"summary":"Run all health checks","tags":["Status"],"description":"Runs health checks for API, database, and all providers. Creates new network status entries for each check. Requires organization authentication.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/tickets":{"post":{"summary":"Submit a support ticket","tags":["Tickets"],"description":"Submit a support ticket for the authenticated organization. The ticket will be routed to the appropriate internal team based on the category. Use GET /tickets/categories to see available categories.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"category_key":{"description":"Ticket category key (e.g. system_failure, general_question)","type":"string"},"subject":{"minLength":1,"maxLength":200,"description":"Brief summary of the issue","type":"string"},"description":{"minLength":1,"maxLength":5000,"description":"Detailed description of the issue","type":"string"},"priority":{"type":"string","enum":["low","medium","high"]},"emails_notified":{"minItems":1,"description":"Team emails to notify","type":"array","items":{"format":"email","type":"string"}}},"required":["category_key","subject","description","priority"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"type":"object","properties":{"ticket_id":{"type":"string"},"category":{"type":"string"},"priority":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string"}},"required":["ticket_id","category","priority","status","created_at"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}},"get":{"summary":"Get organization tickets","tags":["Tickets"],"description":"Retrieves all tickets submitted by the authenticated organization, sorted by newest first.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"ticket_id":{"type":"string"},"organization_object_id":{"type":"string"},"organization_id":{"type":"string"},"category_key":{"type":"string"},"category_display_name":{"type":"string"},"priority":{"type":"string","enum":["low","medium","high"]},"subject":{"type":"string"},"description":{"type":"string"},"submitted_by_account_email":{"anyOf":[{"type":"string"},{"type":"null"}]},"organization_admin_email":{"type":"string"},"status":{"type":"string","enum":["submitted","in_progress","resolved","closed"]},"emails_notified":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["_id","ticket_id","organization_object_id","organization_id","category_key","category_display_name","priority","subject","description","submitted_by_account_email","organization_admin_email","status","emails_notified","created_at","updated_at"]}},"count":{"type":"number"}},"required":["success","data","count"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/tickets/{ticket_id}":{"get":{"summary":"Get ticket by ID","tags":["Tickets"],"description":"Retrieves a specific ticket by its ticket_id. Only returns tickets belonging to the authenticated organization.","parameters":[{"schema":{"type":"string"},"in":"path","name":"ticket_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"_id":{"type":"string"},"ticket_id":{"type":"string"},"organization_object_id":{"type":"string"},"organization_id":{"type":"string"},"category_key":{"type":"string"},"category_display_name":{"type":"string"},"priority":{"type":"string","enum":["low","medium","high"]},"subject":{"type":"string"},"description":{"type":"string"},"submitted_by_account_email":{"anyOf":[{"type":"string"},{"type":"null"}]},"organization_admin_email":{"type":"string"},"status":{"type":"string","enum":["submitted","in_progress","resolved","closed"]},"emails_notified":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["_id","ticket_id","organization_object_id","organization_id","category_key","category_display_name","priority","subject","description","submitted_by_account_email","organization_admin_email","status","emails_notified","created_at","updated_at"]}},"required":["success","data"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/tickets/categories":{"get":{"summary":"Get available ticket categories","tags":["Tickets"],"description":"Retrieves all active ticket categories. Use the category_key when submitting a ticket via POST /tickets.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"category_key":{"type":"string"},"display_name_spanish":{"type":"string"},"display_name_english":{"type":"string"}},"required":["category_key","display_name_spanish","display_name_english"]}},"count":{"type":"number"}},"required":["success","data","count"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/subscriptions":{"post":{"summary":"Create a subscription","tags":["Subscriptions"],"description":"Internal server-to-server endpoint (api-platform). Requires x-internal-key plus x-api-key/x-api-secret for org resolution. Creates a subscription access record after a successful payment. Billing is owned by Stripe (api-platform); this records the access window, provider fulfillment inputs, and the Stripe link. Rejects a second active subscription for the same eSIM (409).","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"esim_id":{"description":"The provisioned eSIM this subscription renews","type":"string"},"provider":{"description":"Provider that fulfils the line (drives native vs simulated renewal)","type":"string"},"skus":{"description":"Bundle-offer public SKUs re-provisioned each cycle (simulated providers)","type":"array","items":{"type":"string"}},"user_object_id":{"description":"Owning user's MongoDB _id","type":"string"},"current_period_start":{"description":"ISO date — start of the first paid period","type":"string"},"current_period_end":{"description":"ISO date — end of the first cycle","type":"string"},"stripe_subscription_id":{"description":"Set only when renewal_mode === \"auto\"","anyOf":[{"type":"string"},{"type":"null"}]},"interval_days":{"description":"Cycle length in days — REQUIRED for prepaid (from the bundle validity); ignored for auto/manual","anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"description":"Total paid cycles — REQUIRED for prepaid (>= 2); null/omitted for open-ended auto/manual","anyOf":[{"type":"number"},{"type":"null"}]}},"required":["esim_id","provider","skus","user_object_id","current_period_start","current_period_end"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}},"required":["success","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}},"get":{"summary":"List subscriptions","tags":["Subscriptions"],"description":"Lists the authenticated organization's subscriptions, newest first. Optionally filter by user_object_id.","parameters":[{"schema":{"type":"string"},"in":"query","name":"user_object_id","required":false,"description":"Filter to one user's subscriptions (their _id)"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"count":{"type":"number"},"data":{"type":"array","items":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}}},"required":["success","count","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/subscriptions/{id}/renew":{"post":{"summary":"Renew a subscription","tags":["Subscriptions"],"description":"Internal server-to-server endpoint (api-platform). Requires x-internal-key plus x-api-key/x-api-secret for org resolution. Fulfils a PAID renewal cycle: extends the access window and, for simulated providers, re-provisions the bundle onto the eSIM. Native providers auto-renew the line themselves, so only the window is extended. No credits are charged (Stripe owns billing).","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"current_period_start":{"description":"ISO date — start of the newly paid period","type":"string"},"current_period_end":{"description":"ISO date — new access expiry","type":"string"}},"required":["current_period_start","current_period_end"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"Subscription MongoDB _id, its Stripe subscription id, or the active eSIM's id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/subscriptions/{id}":{"get":{"summary":"Get subscription by ID","tags":["Subscriptions"],"description":"Retrieves a subscription by its _id, Stripe subscription id, or active eSIM id. Only returns subscriptions owned by the authenticated organization.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"Subscription MongoDB _id, its Stripe subscription id, or the active eSIM's id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}},"required":["success","data"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/subscriptions/{id}/cancel":{"post":{"summary":"Cancel a subscription","tags":["Subscriptions"],"description":"Internal server-to-server endpoint (api-platform). Requires x-internal-key plus x-api-key/x-api-secret for org resolution. Stops a subscription. Asks the provider to stop any native recurring offering at the end of the paid period (no-op for simulated) and flips the record to cancelled. Stripe billing is cancelled by api-platform; no credit refunds here.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"Subscription MongoDB _id, its Stripe subscription id, or the active eSIM's id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/subscriptions/{id}/pause":{"post":{"summary":"Pause a subscription","tags":["Subscriptions"],"description":"Internal server-to-server endpoint (api-platform). Requires x-internal-key plus x-api-key/x-api-secret for org resolution. Pauses renewals without cancelling. Native providers are suspended; simulated is a no-op. The subscription will not renew until resumed.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"Subscription MongoDB _id, its Stripe subscription id, or the active eSIM's id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/subscriptions/{id}/resume":{"post":{"summary":"Resume a subscription","tags":["Subscriptions"],"description":"Internal server-to-server endpoint (api-platform). Requires x-internal-key plus x-api-key/x-api-secret for org resolution. Resumes a paused subscription (native providers are resumed on the provider side). The next paid cycle from Stripe extends the access window.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true,"description":"Subscription MongoDB _id, its Stripe subscription id, or the active eSIM's id"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"message":{"type":"string"},"data":{"additionalProperties":true,"type":"object","properties":{"esim_id":{"type":"string"},"provider":{"type":"string"},"skus":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"current_period_start":{"type":"string"},"current_period_end":{"type":"string"},"interval_days":{"anyOf":[{"type":"number"},{"type":"null"}]},"term_cycles":{"anyOf":[{"type":"number"},{"type":"null"}]},"cycles_completed":{"type":"number"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["esim_id","provider","skus","status","current_period_start","current_period_end","interval_days","term_cycles","cycles_completed","cancelled_at","stripe_subscription_id"]}},"required":["success","message","data"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/catalog/destinations":{"get":{"summary":"Get all available destinations","tags":["Catalog"],"description":"Returns a list of all countries covered by the offered eSIM bundles. Aggregates data from all bundle offers to display unique destinations with bundle counts, SKUs, and minimum pricing.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"destinations":{"type":"array","items":{"type":"object","properties":{"country_name_english":{"type":"string"},"country_name_spanish":{"type":"string"},"country_identifier":{"type":"string"},"iso_code":{"type":"string"},"bundle_count":{"type":"number"},"skus":{"type":"array","items":{"type":"string"}},"min_price_usd":{"type":"number"},"min_price_mxn":{"type":"number"}},"required":["country_name_english","country_name_spanish","country_identifier","iso_code","bundle_count","skus","min_price_usd","min_price_mxn"]}}},"required":["destinations"]}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/catalog/bundle-offers":{"get":{"summary":"Get all bundle offers","tags":["Catalog"],"description":"Retrieves a list of all bundle offers available in the system. Supports filtering by country, data capacity (min/max GB), validity duration (min/max days), SKU, profile, and status. Returns bundle details including pricing, data allowance, validity, and provider information.","parameters":[{"schema":{"type":"string"},"in":"query","name":"sku","required":false},{"schema":{"type":"string"},"in":"query","name":"country","required":false,"description":"Filter by country/region ISO code or country name (case-insensitive). Accepts e.g. US, mx, EURO, \"Mexico\", or \"México\"."},{"schema":{"type":"string"},"in":"query","name":"bundle_identifier","required":false,"description":"Filter by bundle identifier slug (e.g. latin_america, europe, mexico)"},{"schema":{"type":"array","items":{"description":"Filter by compatibility profile, A1 to C3.","type":"string"}},"in":"query","name":"profile","required":false},{"schema":{"type":"string"},"in":"query","name":"status","required":false,"description":"Filter by availability. `active` returns only available bundles, `inactive` returns only unavailable bundles."},{"schema":{"minimum":0,"type":"number"},"in":"query","name":"min_capacity","required":false,"description":"Minimum data capacity in GB"},{"schema":{"minimum":0,"type":"number"},"in":"query","name":"max_capacity","required":false,"description":"Maximum data capacity in GB"},{"schema":{"minimum":0,"type":"number"},"in":"query","name":"min_days","required":false,"description":"Minimum validity in days"},{"schema":{"minimum":0,"type":"number"},"in":"query","name":"max_days","required":false,"description":"Maximum validity in days"},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"limit","required":false,"description":"Maximum number of bundle offers to return"},{"schema":{"minimum":1,"type":"number"},"in":"query","name":"page","required":false,"description":"Page number. Page 1 returns the first set of results."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"created_at":{"type":"string"},"updated_at":{"type":"string"},"available":{"type":"boolean"},"sku":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"bundle_price_mxn":{"type":"number"},"bundle_price_usd":{"type":"number"},"bundle_market_price_mxn":{"type":"number"},"bundle_market_price_usd":{"type":"number"},"bundle_validity":{"type":"number"},"bundle_capacity":{"type":"number"},"unlimited":{"type":"boolean"},"unlimited_daily_use_limit":{"type":"number"},"unlimited_speed_limit":{"type":"number"},"activation_window_validity":{"type":"number"},"regional":{"type":"boolean"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"suggested_countries_not_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"bundle_identifier":{"type":"string"}},"required":["country_name_spanish","country_name_english","bundle_iso_code","bundle_identifier"]}},"image_url":{"type":"string"},"image_low_quality_url":{"type":"string"}},"required":["created_at","updated_at","available","sku","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","bundle_validity","bundle_capacity","unlimited","unlimited_daily_use_limit","unlimited_speed_limit","activation_window_validity","regional","voice_allowed","profile","countries_included"]}},"count":{"type":"number"}},"required":["success","data","count"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/catalog/bundle-offers/{sku}":{"get":{"summary":"Get bundle offer by SKU","tags":["Catalog"],"description":"Retrieves detailed information about a specific bundle offer using its SKU. Returns complete bundle offer details, including pricing, data allowance, validity, and network information.","parameters":[{"schema":{"type":"string"},"in":"path","name":"sku","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"created_at":{"type":"string"},"updated_at":{"type":"string"},"available":{"type":"boolean"},"sku":{"type":"string"},"bundle_name_spanish":{"type":"string"},"bundle_name_english":{"type":"string"},"bundle_description_spanish":{"type":"string"},"bundle_description_english":{"type":"string"},"bundle_identifier":{"type":"string"},"bundle_iso_code":{"type":"string"},"bundle_price_mxn":{"type":"number"},"bundle_price_usd":{"type":"number"},"bundle_market_price_mxn":{"type":"number"},"bundle_market_price_usd":{"type":"number"},"bundle_validity":{"type":"number"},"bundle_capacity":{"type":"number"},"unlimited":{"type":"boolean"},"unlimited_daily_use_limit":{"type":"number"},"unlimited_speed_limit":{"type":"number"},"activation_window_validity":{"type":"number"},"regional":{"type":"boolean"},"voice_allowed":{"type":"boolean"},"profile":{"type":"array","items":{"type":"string"}},"countries_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"country_iso_code":{"type":"string"},"country_max_speed":{"type":"string"},"bundle_identifier":{"type":"string"},"regions_included_english":{"type":"array","items":{"type":"string"}},"regions_included_spanish":{"type":"array","items":{"type":"string"}},"networks":{"type":"array","items":{"type":"object","properties":{"network_full_name":{"type":"string"},"network_commercial_name":{"type":"string"},"network_code":{"anyOf":[{"type":"null"},{"type":"string"}]},"network_max_speed":{"type":"string"}},"required":["network_full_name","network_commercial_name","network_max_speed"]}}},"required":["country_name_spanish","country_name_english","country_iso_code","country_max_speed","bundle_identifier","regions_included_english","regions_included_spanish","networks"]}},"suggested_countries_not_included":{"type":"array","items":{"type":"object","properties":{"country_name_spanish":{"type":"string"},"country_name_english":{"type":"string"},"bundle_iso_code":{"type":"string"},"bundle_identifier":{"type":"string"}},"required":["country_name_spanish","country_name_english","bundle_iso_code","bundle_identifier"]}},"image_url":{"type":"string"},"image_low_quality_url":{"type":"string"}},"required":["created_at","updated_at","available","sku","bundle_name_spanish","bundle_name_english","bundle_description_spanish","bundle_description_english","bundle_identifier","bundle_iso_code","bundle_validity","bundle_capacity","unlimited","unlimited_daily_use_limit","unlimited_speed_limit","activation_window_validity","regional","voice_allowed","profile","countries_included"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/catalog/compatibility":{"get":{"summary":"Get eSIM-compatible devices","tags":["Device Compatibility"],"description":"Returns a list of eSIM-compatible devices grouped by brand, with bilingual phone listings (Spanish and English).","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"brands":{"type":"array","items":{"type":"object","properties":{"brand_id":{"type":"number"},"brand":{"type":"string"},"phones":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"phones_english":{"type":"array","items":{"type":"array","items":{"type":"string"}}}},"required":["brand_id","brand","phones","phones_english"]}}},"required":["brands"]}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/analytics/sales":{"get":{"summary":"Get sales analytics","tags":["Analytics"],"description":"Returns sales analytics including costs, orders, eSIMs, and bundles broken down by granularity (day/week/month).","parameters":[{"schema":{"format":"date","type":"string"},"in":"query","name":"start_date","required":false},{"schema":{"format":"date","type":"string"},"in":"query","name":"end_date","required":false},{"schema":{"type":"string","enum":["day","week","month","quarter","year"]},"in":"query","name":"granularity","required":false},{"schema":{"type":"string"},"in":"query","name":"mock","required":false},{"schema":{"type":"string"},"in":"query","name":"time_zone","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"date_start":{"type":"string"},"date_end":{"type":"string"},"granularity":{"type":"string"},"total_cost":{"type":"number"},"cost_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"amount":{"type":"number"}},"required":["date","amount"]}},"total_orders":{"type":"number"},"orders_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"amount":{"type":"number"}},"required":["date","amount"]}},"avg_cost_per_order_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"average":{"type":"number"},"total":{"type":"number"},"count":{"type":"number"}},"required":["date","average","total","count"]}},"avg_cost_per_esim_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"average":{"type":"number"},"total":{"type":"number"},"count":{"type":"number"}},"required":["date","average","total","count"]}},"avg_cost_per_bundle_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"average":{"type":"number"},"total":{"type":"number"},"count":{"type":"number"}},"required":["date","average","total","count"]}},"total_esims":{"type":"number"},"esims_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"amount":{"type":"number"}},"required":["date","amount"]}},"total_bundles":{"type":"number"},"bundles_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"amount":{"type":"number"}},"required":["date","amount"]}},"esim_topups_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"amount":{"type":"number"}},"required":["date","amount"]}},"esim_new_by_granularity":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"amount":{"type":"number"}},"required":["date","amount"]}}},"required":["date_start","date_end","granularity","total_cost","cost_by_granularity","total_orders","orders_by_granularity","avg_cost_per_order_by_granularity","avg_cost_per_esim_by_granularity","avg_cost_per_bundle_by_granularity","total_esims","esims_by_granularity","total_bundles","bundles_by_granularity","esim_topups_by_granularity","esim_new_by_granularity"]}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/analytics/top-sales":{"get":{"summary":"Get top sales analytics","tags":["Analytics"],"description":"Returns top performing SKUs, destinations, and package variants by volume and revenue.","parameters":[{"schema":{"format":"date","type":"string"},"in":"query","name":"start_date","required":false},{"schema":{"format":"date","type":"string"},"in":"query","name":"end_date","required":false},{"schema":{"type":"string"},"in":"query","name":"mock","required":false},{"schema":{"type":"string"},"in":"query","name":"time_zone","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"date_start":{"type":"string"},"date_end":{"type":"string"},"total_countries":{"type":"number"},"top_skus":{"type":"array","items":{"type":"object","properties":{"sku":{"type":"string"},"name_english":{"type":"string"},"name_spanish":{"type":"string"},"description_english":{"type":"string"},"description_spanish":{"type":"string"},"amount":{"type":"number"},"percentage":{"type":"number"}},"required":["sku","name_english","name_spanish","description_english","description_spanish","amount","percentage"]}},"top_destinations":{"type":"array","items":{"type":"object","properties":{"country_iso":{"type":"string"},"country_name_english":{"type":"string"},"country_name_spanish":{"type":"string"},"amount":{"type":"number"},"percentage":{"type":"number"}},"required":["country_iso","country_name_english","country_name_spanish","amount","percentage"]}},"top_package_variants":{"type":"array","items":{"type":"object","properties":{"variant_english":{"type":"string"},"variant_spanish":{"type":"string"},"amount":{"type":"number"},"percentage":{"type":"number"}},"required":["variant_english","variant_spanish","amount","percentage"]}}},"required":["date_start","date_end","total_countries","top_skus","top_destinations","top_package_variants"]}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/analytics/usage":{"get":{"summary":"Get usage analytics","tags":["Analytics"],"description":"Returns consumption data by day and country, including total consumption, GB vs unlimited breakdown, and user counts.","parameters":[{"schema":{"format":"date","type":"string"},"in":"query","name":"start_date","required":false},{"schema":{"format":"date","type":"string"},"in":"query","name":"end_date","required":false},{"schema":{"type":"string","enum":["day","week","month","quarter","year"]},"in":"query","name":"granularity","required":false},{"schema":{"type":"string"},"in":"query","name":"mock","required":false},{"schema":{"type":"string"},"in":"query","name":"time_zone","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"date_start":{"type":"string"},"date_end":{"type":"string"},"total_packages_with_consumption":{"type":"number"},"consumption_by_day_by_country":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"number"},"amount_gb":{"type":"number"},"amount_unlimited":{"type":"number"},"users_on_gb":{"type":"number"},"users_on_unlimited":{"type":"number"},"average_consumption_per_user_gb":{"type":"number"},"average_consumption_per_user_unlimited":{"type":"number"},"date":{"type":"string"},"country_iso":{"type":"string"},"country_name_english":{"type":"string"},"country_name_spanish":{"type":"string"}},"required":["amount","amount_gb","amount_unlimited","users_on_gb","users_on_unlimited","average_consumption_per_user_gb","average_consumption_per_user_unlimited","date","country_iso","country_name_english","country_name_spanish"]}},"average_consumption_per_package_variant":{"type":"array","items":{"type":"object","properties":{"variant_english":{"type":"string"},"variant_spanish":{"type":"string"},"amount_gb":{"type":"number"},"amount_of_packages":{"type":"number"},"average_consumption":{"type":"number"}},"required":["variant_english","variant_spanish","amount_gb","amount_of_packages","average_consumption"]}},"unique_users_by_granularity":{"type":"object","properties":{"by_week":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string"},"country_iso":{"type":"string"},"unique_users_gb":{"type":"number"},"unique_users_unlimited":{"type":"number"}},"required":["period","country_iso","unique_users_gb","unique_users_unlimited"]}},"by_month":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string"},"country_iso":{"type":"string"},"unique_users_gb":{"type":"number"},"unique_users_unlimited":{"type":"number"}},"required":["period","country_iso","unique_users_gb","unique_users_unlimited"]}},"by_quarter":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string"},"country_iso":{"type":"string"},"unique_users_gb":{"type":"number"},"unique_users_unlimited":{"type":"number"}},"required":["period","country_iso","unique_users_gb","unique_users_unlimited"]}},"by_year":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string"},"country_iso":{"type":"string"},"unique_users_gb":{"type":"number"},"unique_users_unlimited":{"type":"number"}},"required":["period","country_iso","unique_users_gb","unique_users_unlimited"]}}},"required":["by_week","by_month","by_quarter","by_year"]}},"required":["date_start","date_end","total_packages_with_consumption","consumption_by_day_by_country","average_consumption_per_package_variant","unique_users_by_granularity"]}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/analytics/channels":{"get":{"summary":"Get channel and process performance analytics","tags":["Analytics"],"description":"Returns order count, revenue, and average order value by sales channel and process.","parameters":[{"schema":{"format":"date","type":"string"},"in":"query","name":"start_date","required":false},{"schema":{"format":"date","type":"string"},"in":"query","name":"end_date","required":false},{"schema":{"type":"string"},"in":"query","name":"mock","required":false},{"schema":{"type":"string"},"in":"query","name":"time_zone","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":true,"type":"boolean"},"data":{"type":"object","properties":{"date_start":{"type":"string"},"date_end":{"type":"string"},"channels":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string","enum":["website","app"]},"order_count":{"type":"number"},"order_count_percentage":{"type":"number"},"revenue":{"type":"number"},"revenue_percentage":{"type":"number"},"avg_order_value":{"type":"number"}},"required":["channel","order_count","order_count_percentage","revenue","revenue_percentage","avg_order_value"]}},"processes":{"type":"array","items":{"type":"object","properties":{"process":{"type":"string","enum":["flight_booking","app_post_booking","website_post_booking","doters","dedicated_page","other"]},"order_count":{"type":"number"},"order_count_percentage":{"type":"number"},"revenue":{"type":"number"},"revenue_percentage":{"type":"number"},"avg_order_value":{"type":"number"}},"required":["process","order_count","order_count_percentage","revenue","revenue_percentage","avg_order_value"]}}},"required":["date_start","date_end","channels","processes"]}},"required":["success","data"]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}},"/analytics/export":{"get":{"summary":"Export analytics report","tags":["Analytics"],"description":"Downloads analytics data as CSV or JSON. Specify the report type and format.","parameters":[{"schema":{"type":"string","enum":["sales","usage","channels","top-sales"]},"in":"query","name":"report","required":true},{"schema":{"type":"string","enum":["csv","json"]},"in":"query","name":"format","required":true},{"schema":{"format":"date","type":"string"},"in":"query","name":"start_date","required":false},{"schema":{"format":"date","type":"string"},"in":"query","name":"end_date","required":false},{"schema":{"type":"string"},"in":"query","name":"mock","required":false}],"responses":{"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"default":false,"type":"boolean"},"message":{"type":"string"}},"required":["success","message"]}}}}}}}},"servers":[{"url":"https://api.fulldatos.app","description":"Production server"},{"url":"http://localhost:8080","description":"Development server"}],"tags":[{"name":"Catalog","description":"All bundle offers available for eSIM purchases. Includes search by country, region, and a destinations available list."},{"name":"Orders","description":"Order management endpoints for creating and retrieving orders - requires authentication"},{"name":"eSIMs","description":"eSIM status and management endpoints - requires authentication"},{"name":"Bundles","description":"Bundle management endpoints for retrieving purchased bundles - requires authentication"},{"name":"Users","description":"User management endpoints - requires authentication"},{"name":"Refunds","description":"Refund management endpoints for processing bundle refunds - requires authentication"},{"name":"Credits","description":"Credit balance and transaction history endpoints - requires authentication"},{"name":"Device Compatibility","description":"eSIM-compatible device lists grouped by brand, with bilingual phone listings"},{"name":"Status","description":"System and network status endpoints"},{"name":"Tickets","description":"Support ticket endpoints for submitting and tracking issues - requires authentication"},{"name":"Analytics","description":"Sales, activation, usage, geographic, and channel analytics - requires authentication"},{"name":"Sandbox","description":"Test environment with mock eSIM provisioning - requires sandbox-enabled organization"},{"name":"Additional - Orders","description":"eSIM orders with sales channel tracking for partner integration"},{"name":"Additional - Webhooks","description":"Outbound webhook configuration for real-time event delivery to partner systems"}]}