Atarim · Host Provisioning Layer API
Internal
Host Provisioning Layer · v1.0
Partner API · Host Provisioning Layer

How hosting partners plug into Atarim.

This is the connection between a hosting company’s systems and Atarim. It is what lets a partner offer Atarim to the agencies on their platform: hand out licences, see what the partnership earns, and pass their users straight in. The plain version is first. The full reference for the team is below it.

01 · What it does

Four things, one doorway.

Every command in this document does one of these four jobs. Nothing here changes how Atarim itself works. It is the doorway a partner connects to.

01

Hand out licences

Give an Atarim licence to an agency, list the ones already handed out, and switch any of them off.

Why it matters. This is the mechanics behind the hosting bundle. A partner can provision Atarim to an agency in a single call, with quota that expands on its own as they grow.
02

Track their earnings

Read the revenue events behind the partner’s share of what those agencies spend.

Why it matters. Every dollar of the revenue share is visible to the partner directly. They see exactly what the partnership earns them, without asking us for a report.
03

Check their own account

Look up the partner’s licence quota, pricing, and revenue-share rate.

Why it matters. Partners self-serve the terms of the deal. No back-and-forth, no waiting on an account manager to confirm numbers.
04

Pass users straight in

Let an agency user jump from the partner’s dashboard into Atarim without logging in again.

Why it matters. The bundle feels native, not bolted on. One click from the hosting dashboard lands the agency inside Atarim, signed in.
02 · API reference

The full reference.

Everything the team builds against, grouped the way the dashboard exposes it. Tap any endpoint to expand it.

Base URL https://partners.atarim.io Format JSON Spec OpenAPI 3.1
AUTH · API KEY

One key on every request

Each call carries the partner’s key in an x-api-key header. Keys are generated in the dashboard and shown once. A Bearer token is also accepted.

AUTH · SSO SIGNATURE

A signed request for sign-in

The sign-in flow is signed separately with a per-partner key (HMAC-SHA256) sent in X-Atarim-Signature. Signing keys are shown once and rotate with a 24-hour grace window.

Licences

Provision, list, and revoke licences.

List the partner’s licences, newest first (up to 500). Can be filtered by status.

Query parameters
status string Optional. Filter by pending, active, or revoked.
Responses
200 A list of licences.
401 Missing or invalid API key.

Provision a licence and return it with an activation link the agency uses to claim it. Quota expands automatically in batches of 500 as the partner grows.

Request body
label string Optional. A human-readable name for the licence, usually the agency name.
Example response · 201
201 Created
{
  "license": {
    "id": "1f4f6f4f8a1b2c3d",
    "label": "Acme Web Agency",
    "status": "pending",
    "activationUrl": "https://app.atarim.io/partner/activate?token=…",
    "activationTokenExpiresAt": "2026-06-16T09:00:00.000Z",
    "provisionedAt": "2026-06-09T09:00:00.000Z",
    "activatedAt": null,
    "creditsAllocatedMtd": 0
  }
}

Revoke a licence. The change is immediate, with no grace period. The agency’s workspace drops to the free plan.

Path parameters
id required string The id of the licence to revoke.
Responses
200 Revoked.
400 The licence is already revoked.
404 Licence not found, or not yours.

Revenue

Read the partner’s revenue-share events.

Revenue events for the partner account, newest first (up to 1000). Defaults to the current calendar month when no date range is given.

Query parameters
from date Optional. Start day, inclusive. Format YYYY-MM-DD.
to date Optional. End day, exclusive. Format YYYY-MM-DD.
Example response · 200
200 OK
{
  "events": [
    {
      "id": "evt_8a1b2c3d",
      "occurred_at": "2026-06-08T14:22:00.000Z",
      "event_type": "client_pay_20",
      "label": "Acme Web Agency",
      "amount_usd": 20.00,
      "partner_share_usd": 10.00
    }
  ]
}

Partner

The partner’s own account record.

The partner’s record: licence quota, contract type, unit price, and revenue-share rate.

Example response · 200
200 OK
{
  "id": "9a8b7c6d5e4f3a2b",
  "name": "Acme Hosting",
  "slug": "acme-hosting",
  "contractType": "wholesale",
  "licenseQuota": 1000,
  "licenseUnitPriceUsd": 7.50,
  "revenueShareRate": 0.5,
  "woProvisioningEnabled": true
}

SSO

Single-use sign-in token exchange.

Exchange a signed request for a single-use sign-in token that lasts 60 seconds, tied to a specific licence and user. The partner signs the request body and redirects the agency user to the returned link within the minute.

Request body
license_id required string The licence to sign in to.
user_email required email The agency user the token is bound to.
host_partner_id required string The partner’s id or slug.
Example response · 200
200 OK
{
  "token": "9f86d081884c7d659a2feaa0c55ad015…",
  "redeem_url": "https://app.atarim.io/sso/redeem?token=…",
  "expires_in": 60
}