{ "aod": "0.1", "provider": { "name": "HelloSafe Atlas", "url": "https://atlas.hellosafe.com", "portalUrl": "https://atlas.hellosafe.com/platform/api" }, "maturity": "console-only", "account": { "required": true, "signupUrl": "https://atlas.hellosafe.com/signup", "agentPolicy": "prohibited", "prerequisites": [ "A HelloSafe Atlas partner account, reviewed and approved by a human before any key is issued.", "A travel business to distribute the insurance through: agency, tour operator, OTA, booking engine, travel app or creator." ], "termsOfService": { "url": "https://atlas.hellosafe.com/legal/terms", "acceptance": "console-only" }, "plans": [ { "name": "Sandbox", "requiredFor": "Building and testing the integration. Deterministic fixtures in the exact live response shape. No insurer is called, no subscription is created, no card required.", "url": "https://atlas.hellosafe.com/platform/api" }, { "name": "Live", "requiredFor": "Pricing the real multi-insurer catalogue and minting tracked subscription links. No fee to the partner: HelloSafe is paid by the insurer and shares a commission on each completed sale.", "url": "https://atlas.hellosafe.com/platform/api" } ] }, "registration": { "applicationNoun": "API key", "owner": "organization", "mechanisms": [ { "type": "console-only", "description": "Keys are issued by a human today. Request access from the API page or /contact, and a key id plus signing secret are provisioned against the reviewed partner account. A self-serve sandbox key is planned; this descriptor changes when it ships.", "baseUrl": "https://atlas.hellosafe.com/api/v1/travel", "docsUrls": ["https://atlas.hellosafe.com/platform/api"], "auth": "request-signing" } ] }, "authentication": { "methods": [ { "id": "atlas-hmac-v2", "type": "request-signing", "header": "x-atlas-signature", "signing": "HMAC-SHA256 over `${timestamp}.${METHOD}.${pathname}.${rawBody}`, hex-encoded and prefixed with `v2=`. Sent alongside x-atlas-key-id and x-atlas-timestamp; a timestamp outside a 5 minute window is rejected. The signature covers the raw request body byte for byte.", "bootstrap": "Request access at https://atlas.hellosafe.com/platform/api", "notes": "Server to server only. These responses carry no CORS header on purpose: the signing secret must never reach a browser." } ] }, "credentials": [ { "type": "api-key", "fields": { "api_key": "x-atlas-key-id" }, "oneTimeDisplay": true, "rotation": "Rotation and revocation are handled by HelloSafe Atlas on request. A revoked key is rejected on the next call." } ], "scopes": { "model": "scope-strings", "notes": "A key carries explicit scopes and is rejected with 403 without them. `quotes` covers the read path (GET /api/v1/travel/meta and POST /api/v1/travel/quotes). `quotes.link` covers the write path (POST /api/v1/travel/links) and has a deliberately lower daily quota, because one link is one traveller.", "vocabularyUrl": "https://atlas.hellosafe.com/openapi.json" }, "economics": { "pricingUrl": "https://atlas.hellosafe.com/platform/api", "freeTier": "Sandbox: deterministic fixtures, no insurer called, no card required. The live catalogue also costs the partner nothing. HelloSafe is paid by the insurer and shares a commission on each completed sale." }, "gaps": [ "Key issuance is console-only. A human provisions the key id and signing secret after reviewing the partner account; there is no self-serve sandbox key yet.", "There is no programmatic rotation endpoint. Rotating or revoking a key is a support request.", "Agent-driven onboarding is not supported, because a key is bound to an approved partner account and to the commission agreement behind it." ], "securityProfile": { "tier": "normal", "senderConstraining": "none" } }