{"id":4037,"date":"2025-06-06T00:13:30","date_gmt":"2025-06-06T00:13:30","guid":{"rendered":"https:\/\/strongesim.com\/?page_id=4037"},"modified":"2026-04-05T23:22:29","modified_gmt":"2026-04-05T23:22:29","slug":"api-documentation","status":"publish","type":"page","link":"https:\/\/strongesim.com\/es\/api-documentation\/","title":{"rendered":"API Documentation"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>eSIM API &#8211; Complete API Reference<\/title>\n    <style>\n\/* Reset *\/\n\n\/* Sidebar Navigation *\/\n.api-nav-menu {\n    position: fixed !important;\n    top: 0 !important;\n    left: 0 !important;\n    width: 250px !important;\n    height: 100vh !important;\n    background: rgba(255, 255, 255, 0.1) !important;\n    backdrop-filter: blur(10px) !important;\n    border-right: 1px solid rgba(255, 255, 255, 0.2) !important;\n    padding: 20px !important;\n    overflow-y: auto !important;\n    z-index: 100 !important;\n}\n.api-nav-h3 {\n    margin-bottom: 20px !important;\n    color: #000 !important;\n    font-size: 1.2rem !important;\n}\n.api-nav-list {\n    list-style: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n}\n.api-nav-list li {\n    margin-bottom: 10px !important;\n}\n.api-nav-list a {\n    color: #000 !important;\n    text-decoration: none !important;\n    opacity: 0.8 !important;\n    transition: opacity 0.3s !important;\n    font-size: 0.95rem !important;\n}\n.api-nav-list a:hover {\n    opacity: 1 !important;\n    color: #000 !important;\n}\n\n\/* Main container shifted to the right of sidebar *\/\n.api-container {\n    max-width: 1200px !important;\n    margin: 0 auto !important;\n    padding: 20px !important;\n    margin-left: 270px !important;\n}\n\n\/* Header *\/\n.api-header {\n    text-align: left !important;\n    padding: 40px 0 !important;\n    margin-bottom: 40px !important;\n}\n.api-header .api-h1 {\n    font-size: 3rem !important;\n    margin-bottom: 10px !important;\n    font-weight: 700 !important;\n    color: #000 !important;\n}\n.api-header .api-p {\n    font-size: 1.2rem !important;\n    opacity: 0.9 !important;\n    color: #000 !important;\n}\n\n\/* Base Info *\/\n.api-base-info {\n    background: rgba(255, 255, 255, 0.1) !important;\n    backdrop-filter: blur(10px) !important;\n    border-radius: 15px !important;\n    padding: 20px !important;\n    margin-bottom: 30px !important;\n    border: 1px solid rgba(255, 255, 255, 0.2) !important;\n}\n.api-base-info code {\n    background: rgba(0, 0, 0, 0.3) !important;\n    padding: 3px 8px !important;\n    border-radius: 5px !important;\n    font-family: 'Courier New', monospace !important;\n    color: #000 !important;\n}\n\n\/* API Section *\/\n.api-section {\n    background: rgba(255, 255, 255, 0.1) !important;\n    backdrop-filter: blur(10px) !important;\n    border-radius: 15px !important;\n    padding: 30px !important;\n    margin-bottom: 30px !important;\n    border: 1px solid rgba(255, 255, 255, 0.2) !important;\n}\n.api-section .api-h2 {\n    font-size: 2rem !important;\n    margin-bottom: 20px !important;\n    display: flex !important;\n    align-items: center !important;\n    gap: 10px !important;\n    color: #000 !important;\n}\n.api-section .api-h2::before {\n    content: '' !important;\n    width: 5px !important;\n    height: 30px !important;\n    background: #000 !important;\n    border-radius: 3px !important;\n}\n\n\/* Endpoint *\/\n.api-endpoint {\n    background: rgba(0, 0, 0, 0.2) !important;\n    border-radius: 10px !important;\n    padding: 20px !important;\n    margin-bottom: 20px !important;\n    border: 1px solid rgba(255, 255, 255, 0.1) !important;\n}\n.api-endpoint .api-h3 {\n    display: flex !important;\n    align-items: center !important;\n    gap: 10px !important;\n    margin-bottom: 15px !important;\n    font-size: 1.3rem !important;\n    color: #000 !important;\n    flex-wrap: wrap !important;\n}\n\n\/* Method Badges *\/\n.api-method {\n    padding: 4px 12px !important;\n    border-radius: 20px !important;\n    font-size: 0.9rem !important;\n    font-weight: 600 !important;\n    text-transform: uppercase !important;\n    color: #000 !important;\n}\n.api-method-get {\n    background: #10b981 !important;\n}\n.api-method-post {\n    background: #3b82f6 !important;\n}\n.api-method-put {\n    background: #f59e0b !important;\n}\n.api-method-delete {\n    background: #ef4444 !important;\n}\n\n\/* Endpoint URL *\/\n.api-endpoint-url {\n    background: rgba(0, 0, 0, 0.3) !important;\n    padding: 10px 15px !important;\n    border-radius: 8px !important;\n    font-family: 'Courier New', monospace !important;\n    font-size: 0.9rem !important;\n    margin-bottom: 15px !important;\n    word-break: break-all !important;\n    color: #000 !important;\n}\n\n\/* Descriptions *\/\n.api-description {\n    margin-bottom: 15px !important;\n    opacity: 0.9 !important;\n    color: #000 !important;\n}\n\n\/* Parameters & Body Params *\/\n.api-parameters,\n.api-body-params {\n    margin-top: 20px !important;\n}\n.api-parameters .api-h4,\n.api-body-params .api-h4 {\n    margin-bottom: 10px !important;\n    font-size: 1.1rem !important;\n    color: #000 !important;\n}\n\n\/* Param Table *\/\n.api-param-table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    background: rgba(0, 0, 0, 0.2) !important;\n    border-radius: 8px !important;\n    overflow: hidden !important;\n}\n.api-param-table th {\n    background: rgba(0, 0, 0, 0.3) !important;\n    padding: 12px !important;\n    text-align: left !important;\n    font-weight: 600 !important;\n    color: #000 !important;\n}\n.api-param-table td {\n    padding: 12px !important;\n    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;\n    color: #000 !important;\n}\n\n\/* Required & Optional *\/\n.api-required {\n    color: #fb2424 !important;\n    font-weight: 600 !important;\n}\n.api-optional {\n    color: #a3a3a3 !important;\n}\n\n\/* Code Block *\/\n.api-code-block {\n    background: rgba(0, 0, 0, 0.4) !important;\n    border-radius: 8px !important;\n    padding: 15px !important;\n    overflow-x: auto !important;\n    margin-top: 10px !important;\n}\n.api-code-block pre {\n    font-family: 'Courier New', monospace !important;\n    font-size: 0.9rem !important;\n    white-space: pre-wrap !important;\n    color: #000 !important;\n    margin: 0 !important;\n}\n\n\/* Auth Badge *\/\n.api-auth-badge {\n    display: inline-block !important;\n    background: rgba(255, 255, 255, 0.2) !important;\n    padding: 4px 12px !important;\n    border-radius: 20px !important;\n    font-size: 0.85rem !important;\n    margin-left: 10px !important;\n    color: #000 !important;\n}\n\n\/* Warning *\/\n.api-warning {\n    background: rgba(245, 158, 11, 0.2) !important;\n    border: 1px solid #f59e0b !important;\n    border-radius: 8px !important;\n    padding: 15px !important;\n    margin: 15px 0 !important;\n    color: #000 !important;\n}\n.api-warning strong {\n    color: #fb2424 !important;\n}\n.api-warning ul {\n    margin-top: 10px !important;\n    margin-left: 20px !important;\n    color: #000 !important;\n}\n.api-warning ul li {\n    color: #000 !important;\n}\n\n\/* Highlight *\/\n.api-highlight {\n    background: rgba(255, 255, 255, 0.2) !important;\n    padding: 2px 6px !important;\n    border-radius: 3px !important;\n    color: #000 !important;\n}\n\n\/* Responsive *\/\n@media (max-width: 768px) {\n    .api-nav-menu {\n        position: relative !important;\n        width: 100% !important;\n        height: auto !important;\n        border-right: none !important;\n        margin-bottom: 20px !important;\n    }\n    .api-container {\n        margin-left: 0 !important;\n        padding: 10px !important;\n    }\n    .api-header .api-h1 {\n        font-size: 2rem !important;\n    }\n    .api-header .api-p {\n        font-size: 1rem !important;\n    }\n    .api-section {\n        padding: 20px !important;\n    }\n    .api-section .api-h2 {\n        font-size: 1.5rem !important;\n    }\n    .api-endpoint {\n        padding: 15px !important;\n    }\n    .api-endpoint .api-h3 {\n        flex-wrap: wrap !important;\n        font-size: 1.1rem !important;\n    }\n    .api-param-table {\n        font-size: 0.9rem !important;\n    }\n    .api-param-table th,\n    .api-param-table td {\n        padding: 8px !important;\n    }\n    .api-code-block {\n        font-size: 0.8rem !important;\n        padding: 10px !important;\n    }\n    .api-code-block pre {\n        font-size: 0.8rem !important;\n    }\n    .api-method {\n        font-size: 0.8rem !important;\n        padding: 3px 10px !important;\n    }\n    .api-auth-badge {\n        font-size: 0.75rem !important;\n        padding: 3px 10px !important;\n    }\n}\n\n\/* Overrides for WordPress elements inside API Section *\/\n.api-section p,\n.api-section table,\n.api-section ul,\n.api-section li,\n.api-section a {\n    color: #000 !important;\n    margin-bottom: 10px !important;\n}\n.api-section h1,\n.api-section h2,\n.api-section h3,\n.api-section h4,\n.api-section h5,\n.api-section h6 {\n    color: #000 !important;\n    margin-top: 0 !important;\n}\n.api-section input,\n.api-section select,\n.api-section textarea {\n    background: rgba(0, 0, 0, 0.3) !important;\n    color: #000 !important;\n    border: 1px solid rgba(255, 255, 255, 0.2) !important;\n}\n.api-section code {\n    background: rgba(0, 0, 0, 0.3) !important;\n    color: #000 !important;\n    padding: 2px 6px !important;\n    border-radius: 3px !important;\n}\n.api-section button,\n.api-section .button {\n    background: rgba(255, 255, 255, 0.2) !important;\n    color: #000 !important;\n    border: 1px solid rgba(255, 255, 255, 0.3) !important;\n}\n    <\/style>\n<\/head>\n<body>\n    <nav class=\"api-nav-menu\">\n        <h3 class=\"api-nav-h3\">Quick Navigation<\/h3>\n        <ul class=\"api-nav-list\">\n            <li><a href=\"#auth\">Authentication<\/a><\/li>\n            <li><a href=\"#users\">Users<\/a><\/li>\n            <li><a href=\"#credits\">Credits &#038; Deposits<\/a><\/li>\n            <li><a href=\"#notifications\">Notification Preferences<\/a><\/li>\n            <li><a href=\"#orders\">Orders<\/a><\/li>\n            <li><a href=\"#plans\">Plans<\/a><\/li>\n            <li><a href=\"#reseller\">Reseller API<\/a><\/li>\n            <li><a href=\"#webhooks\">Webhook Subscriptions<\/a><\/li>\n            <li><a href=\"#uploads\">Uploads<\/a><\/li>\n        <\/ul>\n    <\/nav>\n\n    <div class=\"api-container\">\n        <div class=\"api-header\">\n            <h1 class=\"api-h1\">eSIM API Documentation<\/h1>\n            <p class=\"api-p\">Complete REST API for managing eSIM orders, credits, and user accounts<\/p>\n        <\/div>\n\n        <div class=\"api-base-info\">\n            <h3>Base URL<\/h3>\n            <p><strong>Production:<\/strong> <code>https:\/\/api.strongesim.com\/api\/v1<\/code><\/p>\n\n            <p style=\"margin-top: 20px;\"><strong>\ud83d\udcda Developer Resources:<\/strong><\/p>\n            <ul style=\"margin-left: 20px; margin-top: 10px;\">\n                <li>\n                    <strong>Interactive API Docs:<\/strong>\n                    <a href=\"https:\/\/api.strongesim.com\/api-docs\/\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #667eea; text-decoration: underline;\">\n                        Swagger UI Documentation\n                    <\/a>\n                    &#8211; Try out endpoints directly in your browser\n                <\/li>\n                <li style=\"margin-top: 8px;\">\n                    <strong>Postman Collection:<\/strong>\n                    <a href=\"https:\/\/api.strongesim.com\/postman-collection.json\" download style=\"color: #667eea; text-decoration: underline;\">\n                        Download Collection\n                    <\/a>\n                    &#8211; Import into Postman for easy API testing\n                <\/li>\n            <\/ul>\n\n            <p style=\"margin-top: 20px;\"><strong>Authentication:<\/strong> All authenticated endpoints require a JWT Bearer token in the Authorization header:<\/p>\n            <div class=\"api-code-block\">\n                <pre>Authorization: Bearer {access_token}\nX-Session-ID: {session_id}<\/pre>\n            <\/div>\n            <p style=\"margin-top: 15px;\"><strong>Rate Limiting:<\/strong><\/p>\n            <ul style=\"margin-left: 20px;\" class=\"api-p\">\n                <li>Login\/Registration: 5 attempts per IP per 15 minutes<\/li>\n                <li>Password reset: 3 attempts per email per hour<\/li>\n                <li>Other endpoints: 1000 requests per user per hour<\/li>\n            <\/ul>\n        <\/div>\n\n        <!-- Authentication Section -->\n        <section id=\"auth\" class=\"api-section\">\n            <h2 class=\"api-h2\">Authentication<\/h2>\n            <p>Manage user authentication, registration, and session management.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Register a new user account\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/register<\/div>\n                <p class=\"api-description\">Register a new user account.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"email\": \"user@example.com\",\n  \"password\": \"SecurePassword123!\",\n  \"role\": \"reseller\",\n  \"name\": \"John Doe\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n\n                <div class=\"api-parameters\">\n                    <h4 class=\"api-h4\">Body Parameters<\/h4>\n                    <table class=\"api-param-table\">\n                        <tr>\n                            <th>Parameter<\/th>\n                            <th>Type<\/th>\n                            <th>Required<\/th>\n                            <th>Description<\/th>\n                        <\/tr>\n                        <tr>\n                            <td>email<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>Valid email address<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>password<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>User password (min 8 characters, must include uppercase, lowercase, number, special character for resellers\/developers)<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>role<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>User role &#8211; one of: mobile_user, reseller, developer<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>name<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>User&#8217;s full name<\/td>\n                        <\/tr>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Login\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/login<\/div>\n                <p class=\"api-description\">Authenticate with email and password to obtain access and refresh tokens.<\/p>\n\n                <div class=\"api-warning\">\n                    <strong>Account Lockout:<\/strong> After 5 failed login attempts, account is locked for 15 minutes.\n                <\/div>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"email\": \"user@example.com\",\n  \"password\": \"SecurePassword123!\",\n  \"role\": \"reseller\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n\n                <div class=\"api-parameters\">\n                    <h4 class=\"api-h4\">Body Parameters<\/h4>\n                    <table class=\"api-param-table\">\n                        <tr>\n                            <th>Parameter<\/th>\n                            <th>Type<\/th>\n                            <th>Required<\/th>\n                            <th>Description<\/th>\n                        <\/tr>\n                        <tr>\n                            <td>email<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>User&#8217;s email address<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>password<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>User&#8217;s password<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>role<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>Specify role if user has multiple accounts with same email<\/td>\n                        <\/tr>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Verify user email address with verification token\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/verify-email<\/div>\n                <p class=\"api-description\">Verify user email address using verification token sent to email.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Resend email verification link\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/resend-verification<\/div>\n                <p class=\"api-description\">Send a new verification link to the user&#8217;s email.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"email\": \"user@example.com\",\n  \"role\": \"reseller\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n\n                <div class=\"api-parameters\">\n                    <h4 class=\"api-h4\">Body Parameters<\/h4>\n                    <table class=\"api-param-table\">\n                        <tr>\n                            <th>Parameter<\/th>\n                            <th>Type<\/th>\n                            <th>Required<\/th>\n                            <th>Description<\/th>\n                        <\/tr>\n                        <tr>\n                            <td>email<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>Email address to resend verification to<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>role<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>User role if multiple accounts exist<\/td>\n                        <\/tr>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Refresh access token using refresh token\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/refresh-token<\/div>\n                <p class=\"api-description\">Exchange a valid refresh token for a new access token.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"refreshToken\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Logout user and invalidate session tokens\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/logout<\/div>\n                <p class=\"api-description\">Logout user and invalidate tokens. If session_id omitted, logs out all sessions.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body (Optional)<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"session_id\": \"{{session_id}}\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Request password reset link via email\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/forgot-password<\/div>\n                <p class=\"api-description\">Send password reset email.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"email\": \"user@example.com\",\n  \"role\": \"reseller\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Reset password using reset token\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/reset-password<\/div>\n                <p class=\"api-description\">Reset password using token from email.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"token\": \"reset-token-from-email\",\n  \"password\": \"NewSecurePassword123!\",\n  \"confirmPassword\": \"NewSecurePassword123!\",\n  \"role\": \"reseller\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get all active login sessions for current user\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/sessions<\/div>\n                <p class=\"api-description\">Retrieve all active login sessions for the authenticated user.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-delete\">DELETE<\/span>\n                    Revoke a specific session (logout from specific device)\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/auth\/sessions\/:sessionId<\/div>\n                <p class=\"api-description\">Logout from a specific device\/session.<\/p>\n            <\/div>\n        <\/section>\n\n        <!-- Users Section -->\n        <section id=\"users\" class=\"api-section\">\n            <h2 class=\"api-h2\">Users<\/h2>\n            <p>Manage user profiles and account information.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get the current authenticated user&#8217;s profile with role-specific data\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/users\/me<\/div>\n                <p class=\"api-description\">Fetch authenticated user&#8217;s profile with role-specific data.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-put\">PUT<\/span>\n                    Update the current user&#8217;s profile information\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/users\/me<\/div>\n                <p class=\"api-description\">Update user profile information.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"name\": \"John Doe\",\n  \"companyName\": \"Acme Corporation\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-put\">PUT<\/span>\n                    Change the current user&#8217;s password\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/users\/me\/password<\/div>\n                <p class=\"api-description\">Update password with validation of old password.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"old_password\": \"CurrentPassword123!\",\n  \"new_password\": \"NewSecurePassword456!\",\n  \"confirm_password\": \"NewSecurePassword456!\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n\n                <div class=\"api-parameters\">\n                    <h4 class=\"api-h4\">Body Parameters<\/h4>\n                    <table class=\"api-param-table\">\n                        <tr>\n                            <th>Parameter<\/th>\n                            <th>Type<\/th>\n                            <th>Required<\/th>\n                            <th>Description<\/th>\n                        <\/tr>\n                        <tr>\n                            <td>old_password<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>Current password<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>new_password<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>New password<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>confirm_password<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>New password confirmation (must match new_password)<\/td>\n                        <\/tr>\n                    <\/table>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Credits and Deposits Section -->\n        <section id=\"credits\" class=\"api-section\">\n            <h2 class=\"api-h2\">Credits and Deposits<\/h2>\n            <p>Manage credit balance and view transactions.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get current credit balance for the authenticated user\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/credits\/balance<\/div>\n                <p class=\"api-description\">Retrieve current credit balance for reseller\/developer. Response differs by billing mode.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get paginated list of credit transactions with optional filtering\n                    <span class=\"api-auth-badge\">Auth Required (Reseller only)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/credits\/transactions<\/div>\n                <p class=\"api-description\">Retrieve credit transactions with filtering by type, status, and date range.<\/p>\n            <\/div>\n        <\/section>\n\n        <!-- Notification Preferences Section -->\n        <section id=\"notifications\" class=\"api-section\">\n            <h2 class=\"api-h2\">Notification Preferences<\/h2>\n            <p>Manage notification settings for your account.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Notification Preferences\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/notification-preferences<\/div>\n                <p class=\"api-description\">Get current notification preferences for the authenticated user.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-put\">PUT<\/span>\n                    Update Notification Preferences\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/notification-preferences<\/div>\n                <p class=\"api-description\">Update notification preferences.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"preferences\": {\n    \"low_data_50\": true,\n    \"low_data_20\": true,\n    \"low_data_10\": false,\n    \"expiry_warning\": true,\n    \"activation\": false\n  }\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Reset Notification Preferences\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/notification-preferences\/reset<\/div>\n                <p class=\"api-description\">Reset notification preferences to default values.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"low_data_50\": true,\n  \"low_data_20\": true,\n  \"low_data_10\": true,\n  \"expiry_warning\": true,\n  \"activation\": true\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Orders Section -->\n        <section id=\"orders\" class=\"api-section\">\n            <h2 class=\"api-h2\">Orders<\/h2>\n            <p>Create and manage eSIM orders.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Create a new eSIM order\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders<\/div>\n                <p class=\"api-description\">Create a new eSIM order. For Resellers: Must have completed onboarding, must have sufficient credit balance.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"plan_id\": \"{{plan_id}}\",\n  \"quantity\": 1,\n  \"reseller_profile_id\": \"{{reseller_profile_id}}\",\n  \"end_customer_email\": \"customer@example.com\",\n  \"customer_name\": \"John Doe\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n\n                <div class=\"api-parameters\">\n                    <h4 class=\"api-h4\">Body Parameters<\/h4>\n                    <table class=\"api-param-table\">\n                        <tr>\n                            <th>Parameter<\/th>\n                            <th>Type<\/th>\n                            <th>Required<\/th>\n                            <th>Description<\/th>\n                        <\/tr>\n                        <tr>\n                            <td>plan_id<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-required\">Required<\/td>\n                            <td>UUID of the eSIM plan to order<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>quantity<\/td>\n                            <td>number<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>Number of eSIMs to order (default: 1)<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>provider_id<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>Specific provider to use (overrides plan default)<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>reseller_profile_id<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>Reseller profile for branding (uses default if not provided)<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>end_customer_email<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>Customer&#8217;s email for QR code delivery<\/td>\n                        <\/tr>\n                        <tr>\n                            <td>customer_name<\/td>\n                            <td>string<\/td>\n                            <td class=\"api-optional\">Optional<\/td>\n                            <td>Customer&#8217;s full name<\/td>\n                        <\/tr>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get detailed status and information for a specific order\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id<\/div>\n                <p class=\"api-description\">Retrieve details for a specific order.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get a paginated list of orders for the authenticated user\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders<\/div>\n                <p class=\"api-description\">Get paginated list of user&#8217;s orders with optional filtering.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Cancel an order and receive refund (if eligible)\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id\/cancel<\/div>\n                <p class=\"api-description\">Cancel an order and receive refund if eligible.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"esimTranNo\": \"ESIM-20240115-001\",\n  \"iccid\": \"{{iccid}}\",\n  \"reason\": \"Customer requested cancellation\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get data usage statistics for an active eSIM order\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id\/usage<\/div>\n                <p class=\"api-description\">Get data usage statistics for an active eSIM order.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Force refresh usage data from the provider (bypasses cache)\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id\/usage\/refresh<\/div>\n                <p class=\"api-description\">Force refresh usage data from the provider, bypassing cache.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Order Usage\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/v2\/order-usage\/:order_id<\/div>\n                <p class=\"api-description\">Get order usage information (v2 endpoint).<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Top-up Plans\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id\/topup-plans<\/div>\n                <p class=\"api-description\">Retrieve available top-up plans for an order.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Top-up Order\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id\/topup<\/div>\n                <p class=\"api-description\">Add data to an existing eSIM order.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"topupId\": \"b3JkZXItdXVpZDpVU0FfMUdCXzdEX1RPUFVQ\"\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Order Top-ups\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/orders\/:order_id\/topups<\/div>\n                <p class=\"api-description\">Get list of all top-ups for an order.<\/p>\n            <\/div>\n        <\/section>\n\n        <!-- Plans Section -->\n        <section id=\"plans\" class=\"api-section\">\n            <h2 class=\"api-h2\">Plans<\/h2>\n            <p>Browse and manage available eSIM data plans.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get a paginated list of all active eSIM plans with optional filtering\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/plans<\/div>\n                <p class=\"api-description\">Get available eSIM plans with filtering and pagination.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get list of all countries with available eSIM plans and minimum prices\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/plans\/countries<\/div>\n                <p class=\"api-description\">Get list of all countries with available eSIM plans and minimum prices.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get detailed information about a specific plan\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/plans\/:id<\/div>\n                <p class=\"api-description\">Retrieve details for a specific eSIM plan by ID.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get timestamp when plans were last updated\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/plans\/last-updated<\/div>\n                <p class=\"api-description\">Get timestamp when plans were last updated. Useful for cache invalidation.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get incremental changes to plans since a specific timestamp\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/plans\/changes<\/div>\n                <p class=\"api-description\">Get incremental changes to plans since a specific timestamp.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get statistics about total coverage (countries and regions)\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/plans\/stats\/coverage<\/div>\n                <p class=\"api-description\">Get statistics about total coverage including countries and regions.<\/p>\n            <\/div>\n        <\/section>\n\n        <!-- Reseller API Section -->\n        <section id=\"reseller\" class=\"api-section\">\n            <h2 class=\"api-h2\">Reseller API<\/h2>\n            <p>Manage reseller profiles, pricing settings, and dashboard.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get All Reseller Profiles\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile<\/div>\n                <p class=\"api-description\">Retrieve all reseller branding profiles.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Specific Profile\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id<\/div>\n                <p class=\"api-description\">Get details for a specific reseller profile.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Create New Profile\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile<\/div>\n                <p class=\"api-description\">Create a new branding profile for reseller.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-put\">PUT<\/span>\n                    Update Profile\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id<\/div>\n                <p class=\"api-description\">Update an existing reseller profile.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-delete\">DELETE<\/span>\n                    Delete Profile\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id<\/div>\n                <p class=\"api-description\">Delete a reseller profile.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Onboarding Status\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/onboarding-status<\/div>\n                <p class=\"api-description\">Get reseller onboarding completion status.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Upload Logo\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/upload-logo<\/div>\n                <p class=\"api-description\">Upload a reseller logo file.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get All Pricing\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/pricing<\/div>\n                <p class=\"api-description\">Retrieve custom pricing overrides for plans.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Specific Plan Pricing\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/pricing\/:plan_id<\/div>\n                <p class=\"api-description\">Get pricing for a specific plan.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Create\/Update Plan Pricing\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/pricing<\/div>\n                <p class=\"api-description\">Set custom pricing for a plan (markup % or fixed price).<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-delete\">DELETE<\/span>\n                    Delete Plan Pricing\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/pricing\/:plan_id<\/div>\n                <p class=\"api-description\">Remove custom pricing for a plan.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get All Associated Users\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/users<\/div>\n                <p class=\"api-description\">Get all users associated with the reseller.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Specific User Details\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/users\/:userId<\/div>\n                <p class=\"api-description\">Get details for a specific associated user.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get All Orders\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/orders<\/div>\n                <p class=\"api-description\">Get all orders for the reseller.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Dashboard Statistics\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/dashboard<\/div>\n                <p class=\"api-description\">Retrieve dashboard data including account balance, pending invoices, recent orders, and transactions.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get SMTP Configuration\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id\/smtp<\/div>\n                <p class=\"api-description\">Retrieve SMTP configuration for a reseller profile. Password is never returned.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-put\">PUT<\/span>\n                    Update SMTP Configuration\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id\/smtp<\/div>\n                <p class=\"api-description\">Update or configure custom SMTP settings for a reseller profile. Password is encrypted using AES-256-CBC.<\/p>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request Body<\/h4>\n                    <div class=\"api-code-block\">\n                        <pre>{\n  \"smtp_host\": \"smtp.example.com\",\n  \"smtp_port\": 587,\n  \"smtp_user\": \"user@example.com\",\n  \"smtp_pass\": \"password\",\n  \"smtp_secure\": false,\n  \"email_from\": \"support@company.com\",\n  \"email_from_name\": \"Company Support\",\n  \"use_custom_smtp\": true\n}<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Test SMTP Configuration\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id\/smtp\/test<\/div>\n                <p class=\"api-description\">Test the SMTP connection for a reseller profile.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-delete\">DELETE<\/span>\n                    Delete SMTP Configuration\n                    <span class=\"api-auth-badge\">Auth Required (Reseller role)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/reseller\/profile\/:id\/smtp<\/div>\n                <p class=\"api-description\">Disable custom SMTP configuration and clear all SMTP data. Emails will be sent using default system SMTP.<\/p>\n            <\/div>\n        <\/section>\n\n        <!-- Webhook Subscriptions Section -->\n        <section id=\"webhooks\" class=\"api-section\">\n            <h2 class=\"api-h2\">Webhook Subscriptions<\/h2>\n            <p>Manage webhook subscriptions for real-time notifications.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get All Webhook Subscriptions\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions<\/div>\n                <p class=\"api-description\">Get user&#8217;s webhook subscriptions with available event types.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Create Webhook Subscription\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions<\/div>\n                <p class=\"api-description\">Create a new webhook subscription with automatic test.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Single Webhook Subscription\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions\/:id<\/div>\n                <p class=\"api-description\">Retrieve details for a specific webhook subscription.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-put\">PUT<\/span>\n                    Update Webhook Subscription\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions\/:id<\/div>\n                <p class=\"api-description\">Update webhook subscription settings.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-delete\">DELETE<\/span>\n                    Delete Webhook Subscription\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions\/:id<\/div>\n                <p class=\"api-description\">Delete a webhook subscription.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Send Test Webhook\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions\/:id\/test<\/div>\n                <p class=\"api-description\">Send a test webhook to the endpoint.<\/p>\n            <\/div>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-get\">GET<\/span>\n                    Get Webhook Delivery Logs\n                    <span class=\"api-auth-badge\">Auth Required<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/webhook-subscriptions\/:id\/logs<\/div>\n                <p class=\"api-description\">Get webhook delivery history for a subscription.<\/p>\n            <\/div>\n        <\/section>\n\n        <!-- Uploads Section -->\n        <section id=\"uploads\" class=\"api-section\">\n            <h2 class=\"api-h2\">Uploads<\/h2>\n            <p>Upload files such as reseller logos.<\/p>\n\n            <div class=\"api-endpoint\">\n                <h3 class=\"api-h3\">\n                    <span class=\"api-method api-method-post\">POST<\/span>\n                    Upload Logo\n                    <span class=\"api-auth-badge\">Auth Required (Reseller only)<\/span>\n                <\/h3>\n                <div class=\"api-endpoint-url\">\/uploads\/logo<\/div>\n                <p class=\"api-description\">Upload a reseller logo file (PNG\/JPEG, max 5MB).<\/p>\n\n                <div class=\"api-warning\">\n                    <strong>File Requirements:<\/strong>\n                    <ul>\n                        <li>Maximum file size: 5MB<\/li>\n                        <li>Supported formats: PNG, JPG, JPEG, GIF<\/li>\n                        <li>Recommended dimensions: 200x200px minimum<\/li>\n                    <\/ul>\n                <\/div>\n\n                <div class=\"api-body-params\">\n                    <h4 class=\"api-h4\">Request<\/h4>\n                    <p>Form data with file upload:<\/p>\n                    <div class=\"api-code-block\">\n                        <pre>Content-Type: multipart\/form-data\n\nlogo: [binary file data]<\/pre>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Footer -->\n        <div class=\"api-section\" style=\"text-align: center; margin-top: 60px;\">\n            <p>\u00a9 2025 eSIM API. All rights reserved.<\/p>\n            <p style=\"margin-top: 10px; opacity: 0.8;\">API Version: v1.0.0 | Last Updated: January 2025<\/p>\n        <\/div>\n    <\/div>\n\n    <script>\n      const nav = document.querySelector('.api-nav-menu');\n      window.addEventListener('scroll', () => {\n        if (window.scrollY === 0) {\n          nav.style.display = 'none';\n        } else {\n          nav.style.display = 'block';\n        }\n      });\n\n      if (window.scrollY === 0) nav.style.display = 'none';\n    <\/script>\n<\/body>\n<\/html>\n\n\n\n<p>Le soin apport\u00e9 par <a href=\"https:\/\/casino-cazeus.net\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/casino-cazeus.net\/<\/a> \u00e0 chaque interaction avec ses joueurs refl\u00e8te une culture d&#8217;entreprise tourn\u00e9e vers l&#8217;excellence. Les limites de mise sont flexibles, permettant \u00e0 chacun de jouer selon son budget. Les promotions cibl\u00e9es tiennent compte des pr\u00e9f\u00e9rences individuelles pour proposer des offres v\u00e9ritablement pertinentes. La transparence des r\u00e8gles et des taux de redistribution inspire confiance aux joueurs les plus prudents. Le constat est unanime parmi les utilisateurs : cette plateforme offre un rapport qualit\u00e9-prix remarquable.<\/p>","protected":false},"excerpt":{"rendered":"<p>eSIM API &#8211; Complete API Reference Quick Navigation Authentication Users Credits &#038; Deposits Notification Preferences Orders Plans Reseller API Webhook Subscriptions Uploads eSIM API Documentation Complete<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4037","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>API Documentation - Strong eSIM<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/strongesim.com\/es\/api-documentation\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"API Documentation - Strong eSIM\" \/>\n<meta property=\"og:description\" content=\"eSIM API &#8211; Complete API Reference Quick Navigation Authentication Users Credits &#038; Deposits Notification Preferences Orders Plans Reseller API Webhook Subscriptions Uploads eSIM API Documentation Complete [\u2026]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/strongesim.com\/es\/api-documentation\/\" \/>\n<meta property=\"og:site_name\" content=\"Strong eSIM\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61567765180665\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-05T23:22:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/strongesim.com\/api-documentation\/\",\"url\":\"https:\/\/strongesim.com\/api-documentation\/\",\"name\":\"API Documentation - Strong eSIM\",\"isPartOf\":{\"@id\":\"https:\/\/strongesim.com\/#website\"},\"datePublished\":\"2025-06-06T00:13:30+00:00\",\"dateModified\":\"2026-04-05T23:22:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/strongesim.com\/api-documentation\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/strongesim.com\/api-documentation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/strongesim.com\/api-documentation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/strongesim.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Documentation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/strongesim.com\/#website\",\"url\":\"https:\/\/strongesim.com\/\",\"name\":\"Strong eSIM\",\"description\":\"Strong eSIM: Best eSIM for Europe, USA, Global Travel Data Plans\",\"publisher\":{\"@id\":\"https:\/\/strongesim.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/strongesim.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/strongesim.com\/#organization\",\"name\":\"Strong eSIM\",\"url\":\"https:\/\/strongesim.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/strongesim.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/strongesim.com\/wp-content\/uploads\/2025\/01\/cropped-logokara-png-scaled.webp\",\"contentUrl\":\"https:\/\/strongesim.com\/wp-content\/uploads\/2025\/01\/cropped-logokara-png-scaled.webp\",\"width\":2560,\"height\":405,\"caption\":\"Strong eSIM\"},\"image\":{\"@id\":\"https:\/\/strongesim.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/profile.php?id=61567765180665\",\"https:\/\/www.instagram.com\/strongesim\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"API Documentation - Strong eSIM","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/strongesim.com\/es\/api-documentation\/","og_locale":"es_ES","og_type":"article","og_title":"API Documentation - Strong eSIM","og_description":"eSIM API &#8211; Complete API Reference Quick Navigation Authentication Users Credits &#038; Deposits Notification Preferences Orders Plans Reseller API Webhook Subscriptions Uploads eSIM API Documentation Complete [\u2026]","og_url":"https:\/\/strongesim.com\/es\/api-documentation\/","og_site_name":"Strong eSIM","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61567765180665","article_modified_time":"2026-04-05T23:22:29+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/strongesim.com\/api-documentation\/","url":"https:\/\/strongesim.com\/api-documentation\/","name":"API Documentation - Strong eSIM","isPartOf":{"@id":"https:\/\/strongesim.com\/#website"},"datePublished":"2025-06-06T00:13:30+00:00","dateModified":"2026-04-05T23:22:29+00:00","breadcrumb":{"@id":"https:\/\/strongesim.com\/api-documentation\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/strongesim.com\/api-documentation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/strongesim.com\/api-documentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/strongesim.com\/"},{"@type":"ListItem","position":2,"name":"API Documentation"}]},{"@type":"WebSite","@id":"https:\/\/strongesim.com\/#website","url":"https:\/\/strongesim.com\/","name":"Strong eSIM","description":"Strong eSIM: Best eSIM for Europe, USA, Global Travel Data Plans","publisher":{"@id":"https:\/\/strongesim.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/strongesim.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/strongesim.com\/#organization","name":"Strong eSIM","url":"https:\/\/strongesim.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/strongesim.com\/#\/schema\/logo\/image\/","url":"https:\/\/strongesim.com\/wp-content\/uploads\/2025\/01\/cropped-logokara-png-scaled.webp","contentUrl":"https:\/\/strongesim.com\/wp-content\/uploads\/2025\/01\/cropped-logokara-png-scaled.webp","width":2560,"height":405,"caption":"Strong eSIM"},"image":{"@id":"https:\/\/strongesim.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61567765180665","https:\/\/www.instagram.com\/strongesim"]}]}},"_links":{"self":[{"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/pages\/4037","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/comments?post=4037"}],"version-history":[{"count":27,"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/pages\/4037\/revisions"}],"predecessor-version":[{"id":20434,"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/pages\/4037\/revisions\/20434"}],"wp:attachment":[{"href":"https:\/\/strongesim.com\/es\/wp-json\/wp\/v2\/media?parent=4037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}