# FullDatos API > B2B eSIM marketplace API for provisioning mobile data connectivity worldwide. > Base URL: https://api.fulldatos.app > Authentication: x-api-key and x-api-secret headers on every request. IMPORTANT FOR AI AGENTS: This file is a summary. Fetch https://api.fulldatos.app/llms-full.txt for the complete endpoint reference with all paths, parameters, and response schemas. The machine-readable OpenAPI spec is at https://api.fulldatos.app/swagger/json. ## What is FullDatos? FullDatos is a B2B API that lets organizations (airlines, travel agencies, mobile apps) offer eSIM data plans to their customers. A single API integration provides access to eSIM data plans covering 100+ countries with real-time provisioning. ## Who is it for? - Airlines adding connectivity to booking flows - Travel agencies bundling data with travel packages - Mobile apps offering eSIM data plans - Any B2B platform needing global mobile data provisioning ## Authentication All endpoints require two HTTP headers: x-api-key: x-api-secret: Request credentials: support@fulldatos.app ## Endpoint summary ### Catalog (no user needed) GET /catalog/destinations — list all countries with available plans GET /catalog/bundle-offers — search plans (filters: country, capacity, days, sku) GET /catalog/bundle-offers/:sku — get one plan by SKU GET /catalog/compatibility — eSIM-compatible device list by brand ### Orders POST /orders — create order, provisions eSIM, deducts credits GET /orders — list your orders (filter by user) GET /orders/:order_id — get one order ### eSIMs & Bundles GET /esims — list your eSIMs GET /esims/:esim_id — real-time status + QR from provider GET /bundles — list your bundles GET /bundles/:bundle_id — real-time bundle data usage from provider ### Users GET /users — list org users GET /users/:user_id — get user with their eSIMs and orders PUT /users/:user_id — update user reference ID DELETE /users/:user_id — delete user ### Credits GET /credits/balance — current USD and MXN balance GET /credits/transactions — transaction history (paginated) POST /refund — refund by esim_id or order_id (partial supported) ### Analytics GET /analytics/sales — sales data by granularity GET /analytics/usage — data usage patterns GET /analytics/channel — channel performance GET /analytics/top-sales — top destination sales GET /analytics/export — export report (JSON or CSV) ### Support tickets POST /tickets — submit a support ticket GET /tickets — list your tickets GET /tickets/:ticket_id — get one ticket GET /tickets/categories — available ticket categories ### Sandbox (test mode, org must have sandbox:true) POST /sandbox/orders — mock order, no real provisioning GET /sandbox/esims/:esim_id/status — mock eSIM status ### System GET /status — network statuses (last 31 days) POST /status/check — run live provider health checks ## Response format All responses: { success: boolean, data?: any, message?: string } Errors: { success: false, message: "description" } HTTP codes: 200/201 success · 400 bad request · 401 unauthorized · 403 forbidden · 404 not found · 429 rate limited · 500 server error ## Rate limits 100 requests per minute per API key. Retry-After header on 429. ## Quick start 1. Request API keys: support@fulldatos.app 2. Authenticate with x-api-key and x-api-secret headers 3. Browse plans: GET /catalog/destinations 4. Create an order: POST /orders 5. Check eSIM status: GET /esims/:esim_id ## Machine-readable references - Full LLM reference (all endpoints + params): https://api.fulldatos.app/llms-full.txt - OpenAPI 3.x spec (JSON): https://api.fulldatos.app/swagger/json - OpenAPI 3.x spec (Spanish): https://api.fulldatos.app/es/json - AI plugin manifest: https://api.fulldatos.app/.well-known/ai-plugin.json - Interactive docs: https://api.fulldatos.app/documentation ## Contact - Support: support@fulldatos.app - Platform: https://platform.fulldatos.app - Parent company: Datos de Viaje (https://datosdeviaje.com)