{
    "info": {
        "_postman_id": "skysnag-api-v1-collection",
        "name": "Skysnag API v1",
        "description": "Skysnag public API v1.\n\n**Authentication:** Send your token in the `X-Api-Token` header (not Bearer).\n\n**Setup:**\n1. Import this collection and `Skysnag-API-v1.postman_environment.json`.\n2. Create a token at https://developers.skysnag.com/en/api-tokens (team owner account).\n3. Set the `api_token` variable to your full token (`sk_snag_…`).\n\n**Suggested test order:**\n1. System → Health\n2. Authentication → List Scopes\n3. Authentication → Get Me\n4. Current User → Get Profile\n5. User Management → List Users\n6. Token Management → List Tokens\n\n**Folders:**\n- **System** — public health check\n- **Authentication** — scopes and account/token identity\n- **Current User** — `/me` profile, permissions, domains, security\n- **User Management** — team members (team owner only)\n- **Token Management** — create, list, revoke API tokens\n- **Legacy** — older `X-API-Key` integrations\n\n**Local:** `https://developers.skysnag.com/api/v1`\n**Production:** `https://api.skysnag.com/v1`",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "variable": [
        {
            "key": "base_url",
            "value": "https://developers.skysnag.com/api/v1"
        },
        {
            "key": "app_url",
            "value": "https://developers.skysnag.com"
        },
        {
            "key": "api_token",
            "value": ""
        },
        {
            "key": "token_id",
            "value": "1"
        },
        {
            "key": "user_id",
            "value": "2"
        },
        {
            "key": "role_id",
            "value": "5"
        },
        {
            "key": "domain_id",
            "value": "1"
        },
        {
            "key": "spf_include_id",
            "value": ""
        },
        {
            "key": "tls_report_id",
            "value": ""
        },
        {
            "key": "group_id",
            "value": ""
        },
        {
            "key": "bulk_job_id",
            "value": ""
        }
    ],
    "item": [
        {
            "name": "System",
            "description": "Public endpoints. No authentication required.",
            "item": [
                {
                    "name": "Health",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": "{{base_url}}/health",
                        "description": "Public health check.\n\n**Auth:** None"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Authentication",
            "description": "Token scopes and authenticated account identity (`account:read`).",
            "item": [
                {
                    "name": "List Scopes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": "{{base_url}}/auth/scopes",
                        "description": "Returns assignable scopes grouped by `v1` and `legacy`.\n\n**Auth:** None"
                    },
                    "response": []
                },
                {
                    "name": "Get Me",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/auth/me",
                        "description": "Returns the authenticated account and current token metadata.\n\n**Required scope:** `account:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Account",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/account",
                        "description": "Alias of `GET /auth/me`.\n\n**Required scope:** `account:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Current User",
            "description": "Read and update the authenticated user (`me:read`, `me:write`).",
            "item": [
                {
                    "name": "Get Profile",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/me",
                        "description": "Current user profile.\n\n**Required scope:** `me:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Permissions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/me/permissions",
                        "description": "Effective permissions for the current user.\n\n**Required scope:** `me:read`"
                    },
                    "response": []
                },
                {
                    "name": "List Domains",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/me/domains?page=1&limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "me",
                                "domains"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "1"
                                },
                                {
                                    "key": "limit",
                                    "value": "25"
                                }
                            ]
                        },
                        "description": "Domains visible to the current user.\n\n**Required scope:** `me:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Security",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/me/security",
                        "description": "MFA and passkey security status.\n\n**Required scope:** `me:read`"
                    },
                    "response": []
                },
                {
                    "name": "Update Profile",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"name\": \"Updated Name\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/me",
                        "description": "Update the current user profile.\n\n**Required scope:** `me:write`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "User Management",
            "description": "Manage team members. Requires team owner account (`users:read`, `users:write`).",
            "item": [
                {
                    "name": "List Roles",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.length > 0 && json.data[0].id) {",
                                    "        pm.collectionVariables.set('role_id', String(json.data[0].id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/roles",
                        "description": "List assignable team member roles.\n\n**Required scope:** `users:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Role",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/roles/{{role_id}}",
                        "description": "Get a single assignable role.\n\n**Required scope:** `users:read`"
                    },
                    "response": []
                },
                {
                    "name": "List Users",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.length > 0) {",
                                    "        const member = json.data.find(function (user) { return !user.is_team_owner; }) || json.data[0];",
                                    "        if (member && member.id) {",
                                    "            pm.collectionVariables.set('user_id', String(member.id));",
                                    "        }",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/users?page=1&limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "users"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "1"
                                },
                                {
                                    "key": "limit",
                                    "value": "25"
                                }
                            ]
                        },
                        "description": "List account users on the current team.\n\n**Required scope:** `users:read`\n\nSaves the first non-owner user ID to `user_id`."
                    },
                    "response": []
                },
                {
                    "name": "Create User Invite",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"email\": \"member@example.com\",\n  \"role_id\": 5,\n  \"send_invite\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/users",
                        "description": "Create an account member invitation. Sends invite email by default.\n\n**Required scope:** `users:write`"
                    },
                    "response": []
                },
                {
                    "name": "Get User",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/users/{{user_id}}",
                        "description": "Get user details.\n\n**Required scope:** `users:read`"
                    },
                    "response": []
                },
                {
                    "name": "Update User",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"name\": \"Updated Member\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/users/{{user_id}}",
                        "description": "Update user details (`name`, `language`).\n\n**Required scope:** `users:write`"
                    },
                    "response": []
                },
                {
                    "name": "Delete User",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/users/{{user_id}}",
                        "description": "Delete a team member.\n\n**Required scope:** `users:write`\n\nCannot delete the team owner or yourself."
                    },
                    "response": []
                },
                {
                    "name": "Toggle User Status",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"enabled\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/users/{{user_id}}/status",
                        "description": "Toggle user active status.\n\n**Required scope:** `users:write`"
                    },
                    "response": []
                },
                {
                    "name": "Change User Role",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"role_id\": 5\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/users/{{user_id}}/role",
                        "description": "Change user role.\n\n**Required scope:** `users:write`"
                    },
                    "response": []
                },
                {
                    "name": "Toggle 2FA Enforcement",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"enabled\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/users/{{user_id}}/enforce-2fa",
                        "description": "Toggle 2FA enforcement for a team member.\n\n**Required scope:** `users:write`"
                    },
                    "response": []
                },
                {
                    "name": "Reinvite User",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/users/{{user_id}}/reinvite-user",
                        "description": "Resend the account invitation email to an existing team member.\n\n**Required scope:** `users:write`"
                    },
                    "response": []
                },
                {
                    "name": "List User Domains",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/users/{{user_id}}/domains?page=1&limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "users",
                                "{{user_id}}",
                                "domains"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "1"
                                },
                                {
                                    "key": "limit",
                                    "value": "25"
                                }
                            ]
                        },
                        "description": "List domain access for a user.\n\n**Required scope:** `users:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Domain Management",
            "description": "Manage account domains (`domains:read`, `domains:write`). Write operations require team owner.",
            "item": [
                {
                    "name": "List Domains",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.length > 0 && json.data[0].id) {",
                                    "        pm.collectionVariables.set('domain_id', String(json.data[0].id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/domains?page=1&limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "domains"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "1"
                                },
                                {
                                    "key": "limit",
                                    "value": "25"
                                }
                            ]
                        },
                        "description": "List account domains.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Create Domain",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"fqdn\": \"example.com\"\n}"
                        },
                        "url": "{{base_url}}/domains",
                        "description": "Create a single domain.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Bulk Add Domains",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 202) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.id) {",
                                    "        pm.environment.set('bulk_job_id', String(json.data.id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"domains\": [\"example.com\", \"example.org\"]\n}"
                        },
                        "url": "{{base_url}}/domains/bulk",
                        "description": "Bulk add domains.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Get Bulk Job Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/bulk/{{bulk_job_id}}",
                        "description": "Get bulk add job status.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Domain",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}",
                        "description": "Get domain details.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Update Domain",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"onboarding_status\": \"finish\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}",
                        "description": "Edit domain metadata.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Delete Domain",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}",
                        "description": "Delete a domain.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Verify Domain",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/verify",
                        "description": "Verify domain DNS records.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Check DNS",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/check-dns",
                        "description": "Run DNS check and store result.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Get DNS Fetch Result",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dns-fetch-result",
                        "description": "Get stored DNS fetch result.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Protocol Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/status",
                        "description": "Get protocol verification status.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Domain Services",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/services",
                        "description": "Get attached services.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Update Domain Services",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"service_ids\": []\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/services",
                        "description": "Replace attached services.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Domain Groups",
            "description": "Organize domains into groups (`domains:read` / `domains:write`).",
            "item": [
                {
                    "name": "List Domain Groups",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.length > 0 && json.data[0].id) {",
                                    "        pm.collectionVariables.set('group_id', String(json.data[0].id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domain-groups",
                        "description": "List domain groups.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Create Domain Group",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.id) {",
                                    "        pm.collectionVariables.set('group_id', String(json.data.id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"name\": \"Production\"\n}"
                        },
                        "url": "{{base_url}}/domain-groups",
                        "description": "Create a domain group. Optional `status`.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Get Domain Group",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domain-groups/{{group_id}}",
                        "description": "Get a single domain group.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Update Domain Group",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"name\": \"Production EU\"\n}"
                        },
                        "url": "{{base_url}}/domain-groups/{{group_id}}",
                        "description": "Edit a domain group. Body: `name` and/or `status`.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Delete Domain Group",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domain-groups/{{group_id}}",
                        "description": "Delete a domain group (member domains become ungrouped).\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "List Group Domains",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domain-groups/{{group_id}}/domains?page=1&limit=25",
                        "description": "List domains in a group.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Add Domain To Group",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"domain_id\": {{domain_id}}\n}"
                        },
                        "url": "{{base_url}}/domain-groups/{{group_id}}/domains",
                        "description": "Add a domain to the group.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Remove Domain From Group",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domain-groups/{{group_id}}/domains/{{domain_id}}",
                        "description": "Remove a domain from the group.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Hosted DMARC",
            "description": "Manage Skysnag-hosted DMARC records and enforcement policy for a domain.",
            "item": [
                {
                    "name": "Get Hosted DMARC Setup",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-dmarc",
                        "description": "Get hosted DMARC setup.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Setup Hosted DMARC",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-dmarc",
                        "description": "Provision hosted DMARC for the domain.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Update Hosted DMARC",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"p\": \"none\",\n  \"sp\": \"none\",\n  \"pct\": 100\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-dmarc",
                        "description": "Edit hosted DMARC advanced settings.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Disable Hosted DMARC",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-dmarc",
                        "description": "Disable hosted DMARC.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Get DMARC Policy",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dmarc-policy",
                        "description": "Get current DMARC policy.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Update DMARC Policy",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"policy\": \"none\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/dmarc-policy",
                        "description": "Update DMARC enforcement policy (none, quarantine, reject).\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "DMARC Policy History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dmarc/history?page=1&limit=25",
                        "description": "DMARC policy change history.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "DMARC Enforcement Recommendation",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dmarc/recommendation",
                        "description": "Generate enforcement recommendation.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Hosted SPF",
            "description": "Manage Skysnag-hosted SPF records, includes, IP authorization actions, and flattening for a domain.",
            "item": [
                {
                    "name": "Get Hosted SPF Setup",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-spf",
                        "description": "Get hosted SPF setup.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Setup Hosted SPF",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-spf",
                        "description": "Provision hosted SPF for the domain.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Update Hosted SPF",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"all\": \"~all\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-spf",
                        "description": "Edit hosted SPF advanced settings. `all` is one of: -all, ~all, ?all, +all.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Disable Hosted SPF",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/hosted-spf",
                        "description": "Disable hosted SPF.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "SPF History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/history?page=1&limit=25",
                        "description": "SPF change history (activity logs + snapshots).\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "List SPF Includes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/includes",
                        "description": "List SPF includes.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Add SPF Include",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.id) {",
                                    "        pm.collectionVariables.set('spf_include_id', String(json.data.id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"include_content\": \"_spf.google.com\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/includes",
                        "description": "Add an SPF include. Saves the new include ID to `spf_include_id`.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Delete SPF Include",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/includes/{{spf_include_id}}",
                        "description": "Delete an SPF include.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "List SPF IP Actions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/ip-actions",
                        "description": "List SPF IP authorization actions.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Create SPF IP Action",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"ip\": \"203.0.113.10\",\n  \"type\": \"Allow\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/ip-actions",
                        "description": "Authorize (Allow) or block (Reject) an IP. `type` is Allow or Reject.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Flatten SPF Record",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/spf/flatten",
                        "description": "Generate a flattened SPF record (resolves includes into IPs and reports DNS lookup count).\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "BIMI / VMC",
            "description": "Manage BIMI records, logos, VMC certificates, and readiness for a domain.",
            "item": [
                {
                    "name": "List BIMI Registrations",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/bimi/registrations",
                        "description": "List partner BIMI registrations for the account team.\n\n**Required scope:** `account:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get BIMI Details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi",
                        "description": "Get BIMI details for a domain.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Setup BIMI",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi",
                        "description": "Provision hosted BIMI for the domain.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Update BIMI",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi",
                        "description": "Edit or re-sync BIMI (republish from uploaded logo/VMC). Optional body: `record_value`.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Delete BIMI",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi",
                        "description": "Delete BIMI configuration.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Convert BIMI SVG",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"svg_content\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 100 100\\\"><rect width=\\\"100\\\" height=\\\"100\\\" fill=\\\"#0066cc\\\"/></svg>\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi/svg-convert",
                        "description": "Convert and validate SVG for BIMI Tiny PS.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Upload BIMI Logo",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "file",
                                    "type": "file",
                                    "src": ""
                                }
                            ]
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi/logo",
                        "description": "Upload BIMI SVG logo or VMC PEM certificate.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Get VMC Details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi/vmc?refresh=false",
                        "description": "Get VMC analysis for the domain. Set `refresh=true` to bypass cache.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Inspect VMC PEM",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"pem\": \"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi/vmc/inspect",
                        "description": "Inspect a VMC PEM certificate without uploading.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "BIMI Readiness Check",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/bimi/readiness",
                        "description": "BIMI/VMC readiness check with score and checklist.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "MTA-STS",
            "description": "Manage hosted MTA-STS policy, DNS setup, and validation for a domain.",
            "item": [
                {
                    "name": "Get MTA-STS Status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts",
                        "description": "Get MTA-STS status, policy, DNS targets, and check metadata.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get MTA-STS Policy File",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts/web-file",
                        "description": "Get the MTA-STS policy file content.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Setup MTA-STS",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts/setup",
                        "description": "Provision hosted MTA-STS and TLS-RPT.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Update MTA-STS Policy",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"mode\": \"testing\",\n  \"max_age\": 604800\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts/policy",
                        "description": "Update MTA-STS policy. Pass `policy` for raw text, or `mode` / `max_age` / `mx`.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Update MTA-STS Mode",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"mode\": \"enforce\"\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts/mode",
                        "description": "Update MTA-STS policy mode only.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Reset MTA-STS Policy",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts/reset",
                        "description": "Reset MTA-STS policy to defaults (mode: none).\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Run MTA-STS Check",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"verify_dns\": false,\n  \"require_caa\": false\n}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/mta-sts/check",
                        "description": "Run MTA-STS and TLS-RPT checker validation. Set `verify_dns: true` to verify customer DNS.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "TLS-RPT",
            "description": "Configure hosted TLS-RPT and query TLS report analytics for a domain.",
            "item": [
                {
                    "name": "Get TLS-RPT Configuration",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt",
                        "description": "Get TLS-RPT configuration and DNS targets.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Setup TLS-RPT",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/setup",
                        "description": "Provision hosted TLS-RPT.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "Update TLS-RPT",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{}"
                        },
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt",
                        "description": "Re-publish hosted TLS-RPT. Optional body: `record_value`.\n\n**Required scope:** `domains:write`"
                    },
                    "response": []
                },
                {
                    "name": "List TLS Reports",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/reports?page=1&limit=25",
                        "description": "List TLS reports with optional filters: policy_domain, policy_mode, start_date, end_date.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get TLS Report",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/reports/{{tls_report_id}}",
                        "description": "Get a single TLS report by id or report_id.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "TLS-RPT By Source",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/by-source",
                        "description": "Aggregate TLS sessions by sending MTA IP.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "TLS-RPT By Result",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/by-result",
                        "description": "Aggregate failed sessions by result type.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "TLS Failure Summary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/failures",
                        "description": "TLS failure summary with reason breakdown.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "TLS Failure Details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/tls-rpt/failure-details?page=1&limit=25",
                        "description": "Paginated TLS failure detail rows.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Domain Health & Security Score",
            "description": "Read-only domain health, security score, mail volume, sending services, failing sources, and cached dashboard data. Volume/source endpoints accept optional `start_date`/`end_date` (YYYY-MM-DD, default last 30 days).\n\n**Required scope:** `domains:read`",
            "item": [
                {
                    "name": "Health Summary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/health",
                        "description": "Current domain health: per-protocol pass/fail, result label, mail provider, and DMARC record. Falls back to live verification flags when no guard snapshot exists.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Health History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/health/history?page=1&limit=25",
                        "description": "Paginated history of domain health snapshots. Optional filters: start_date, end_date.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Security Score",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/security-score",
                        "description": "Current Email Security Score (0-10) with interpretation and message. Computed from cached checker results; returns 503 `score_unavailable` if it cannot be computed.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Security Score History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/security-score/history?limit=90",
                        "description": "Derived score series from domain guard snapshots (derived_score = passing protocols / 5 * 10). Optional filters: start_date, end_date, limit.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Mail Volume",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/mail-volume?start_date=2026-05-01&end_date=2026-06-01",
                        "description": "Daily mail volume history with delivered/quarantined/rejected and DMARC pass/fail plus totals.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Sending Services",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/sending-services?start_date=2026-05-01&end_date=2026-06-01&limit=100",
                        "description": "Sending sources with volume, DMARC metrics, compliance percentage, and status (compliant/partial/failing).\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Failed Sources",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/failed-sources?start_date=2026-05-01&end_date=2026-06-01&limit=100",
                        "description": "Sources failing DMARC alignment in the window, ordered by failing volume, with an is_registered_threat flag.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Dashboard Cache",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dashboard-cache",
                        "description": "Precomputed dashboard snapshot payload (domain_snapshot). Optional filters: start_date, end_date. Returns cached=false with data=null when no snapshot exists.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "DNS Timeline",
            "description": "Read-only DNS connect/disconnect timeline, current records, record-value history, change events, and stored snapshots for a domain. Filterable by `record_type` and `start_date`/`end_date` (YYYY-MM-DD).\n\n**Required scope:** `domains:read`",
            "item": [
                {
                    "name": "DNS Timeline",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dns/timeline?limit=50",
                        "description": "Per-protocol status summary (current_status, last_connected/disconnected, counts) plus the most recent connect/disconnect events. Optional filters: record_type, action, start_date, end_date, limit.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "Current DNS Records",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dns/current",
                        "description": "Current per-protocol status, verification flags, last connected/disconnected, and latest DMARC/SPF record values.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "DNS Record History",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dns/history?page=1&limit=25",
                        "description": "Unified, paginated chronological record-value history (DMARC + SPF snapshots). Optional filters: record_type (dmarc|spf), start_date, end_date.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "DNS Changes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dns/changes?page=1&limit=25",
                        "description": "Paginated connect/disconnect change events with status_before/status_after. Optional filters: record_type (dmarc|spf|mta_sts|tls_rpt|bimi), action (connected|disconnected), start_date, end_date.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                },
                {
                    "name": "DNS Snapshots",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/domains/{{domain_id}}/dns/snapshots?limit=50",
                        "description": "Raw stored snapshot rows grouped by record type (dmarc, spf). Optional filters: record_type (dmarc|spf), start_date, end_date, limit.\n\n**Required scope:** `domains:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Audit Logs",
            "description": "Read-only account API audit logs (every mutating API request plus sensitive reads), scoped to the token owner's account. Supports filtering by method, action, path, status, IP, token, and date range.\n\n**Required scope:** `account:read`",
            "item": [
                {
                    "name": "List Audit Logs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/audit-logs?page=1&limit=25",
                        "description": "Paginated audit logs (newest first). Optional query filters: method, action, path, status_code, status_class (2xx|3xx|4xx|5xx), ip_address, token_id, q, start_date, end_date.\n\n**Required scope:** `account:read`"
                    },
                    "response": []
                },
                {
                    "name": "Search Audit Logs",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"q\": \"domains\",\n  \"method\": [\"POST\", \"PATCH\", \"DELETE\"],\n  \"status_class\": \"2xx\",\n  \"start_date\": \"2026-05-01\",\n  \"end_date\": \"2026-06-01\",\n  \"page\": 1,\n  \"limit\": 25\n}"
                        },
                        "url": "{{base_url}}/audit-logs/search",
                        "description": "Search audit logs via JSON body. Accepts the same filters as the list endpoint: q (free text on path/action), method (string or array), action, path, status_code, status_class, ip_address, token_id, start_date, end_date, page, limit.\n\n**Required scope:** `account:read`"
                    },
                    "response": []
                },
                {
                    "name": "Get Audit Log",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": "{{base_url}}/audit-logs/{{audit_log_id}}",
                        "description": "Get a single audit log entry by id (scoped to the account).\n\n**Required scope:** `account:read`"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Token Management",
            "description": "Create, list, and revoke API tokens (`tokens:read`, `tokens:write`).",
            "item": [
                {
                    "name": "List Tokens",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 200) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.length > 0 && json.data[0].id) {",
                                    "        pm.collectionVariables.set('token_id', String(json.data[0].id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/auth/tokens?page=1&limit=25",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "auth",
                                "tokens"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "1"
                                },
                                {
                                    "key": "limit",
                                    "value": "25"
                                }
                            ]
                        },
                        "description": "List active API tokens for the account.\n\n**Required scope:** `tokens:read`\n\nSaves the first token ID to `token_id`."
                    },
                    "response": []
                },
                {
                    "name": "Create Token",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "if (pm.response.code === 201) {",
                                    "    const json = pm.response.json();",
                                    "    if (json.data && json.data.plain_text) {",
                                    "        pm.collectionVariables.set('api_token', json.data.plain_text);",
                                    "    }",
                                    "    if (json.data && json.data.token && json.data.token.id) {",
                                    "        pm.collectionVariables.set('token_id', String(json.data.token.id));",
                                    "    }",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "X-Api-Token",
                                "value": "{{api_token}}"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n  \"name\": \"Postman test token\",\n  \"scopes\": [\n    \"account:read\",\n    \"me:read\",\n    \"me:write\",\n    \"users:read\",\n    \"users:write\",\n    \"domains:read\",\n    \"domains:write\",\n    \"tokens:read\",\n    \"tokens:write\"\n  ],\n  \"expires_in_days\": 90\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{base_url}}/auth/tokens",
                        "description": "Create a new API token. Full value returned once in `data.plain_text`.\n\n**Required scope:** `tokens:write`\n\nOn success, saves `plain_text` to `api_token` and `token.id` to `token_id`."
                    },
                    "response": []
                }
            ]
        }
    ]
}