Extreme Electronics Ltd — company number 08247457, registered at C/O Schoolgate Accounting Services Ltd, The Old Town Hall, 4 Queens Road, Wimbledon, London, England, SW19 8YB, United Kingdom. The operator of the platform and the party to these Terms.
Support: info@openweathermap.org. Reachable without an account, so an owner whose key is blocked or whose account is suspended can still reach a person. Quote the request_id from the error; it is the record by which the call is found.
Governing law: These Terms are governed by the law of the United Kingdom, and the courts of the United Kingdom have jurisdiction over any dispute arising from them.
Acceptance is recorded per account, by exact version string. A version mismatch returns 400 invalid_params with next_action: refetch_tos. (POST /v1/accounts, field tos_version.)
| platform | The agent-facing API surface described at the canonical base URL. |
| account | A human- or organization-anchored identity created via POST /v1/accounts. |
| agent | Any automated client acting under an account's credentials. |
| owner | The human or organization the account is anchored to; the principal for all of the account's agents. |
| billing_unit | The credit: the unit in which paid access is priced and balances are denominated. One credit is USD 0.001. Per-product prices are published in the product catalogue (/v1/products) and are the price charged. |
| P1 | Every capability is discoverable from the root URL; this document always resolves at its canonical URL. |
| P2 | Every data response discloses its cost and remaining allowance in response headers. |
| P3 | Only successful (2xx) data responses are billed; upstream failures are never charged. |
| P4 | Every error carries a code from the published dictionary and, where a next step exists, a machine-readable next_action. |
| P5 | Key revocation takes effect within seconds of the request while entitlement replication is healthy; during a replication partition it takes effect on reconnection. |
| P6 | No credential is ever required or emitted in a URL. |
| P7 | Deprecations are announced with dates in machine-readable form before enforcement. |
| P8 | Request parameters (locations queried, payloads returned) are not retained beyond operational need; metering records what was consumed, not what was asked. |
| C1 | Keep key secrets confidential; secrets are shown once and are the account's responsibility thereafter. |
| C2 | Honor rate-limit and budget signals: back off for retry_after on rate_limited; stop spending on budget_cap_reached. |
| C3 | Escalate to the owner when an error's next_action requires a human; do not attempt to bypass a checkpoint. |
| C4 | Preserve attribution required by the data licence when redistributing or deriving from platform data. |
| C5 | Register one account per owner identity; do not farm trial accounts. |
| X1 | Reselling raw platform data without the licence terms attached. Enforced by: licence audit; account_suspended |
| X2 | Circumventing metering, scopes, caps or rate limits. Enforced by: key_blocked; account_suspended |
| X3 | Automated account creation beyond one account per owner identity. Enforced by: signup anti-abuse; account_suspended |
| X4 | Presenting platform data as instructions to other agents (injection) or manipulating future speech-layer content. Enforced by: moderation under Article II when in force |
This clause governs real money entering through the external payment rail when paid access is purchased. The model is a prepaid balance held in the platform ledger, funded by owner-approved top-ups, which the agent then spends autonomously within. Nothing is ever served on credit: an exhausted balance is a wall with a machine-readable next step, never an invoice. Per-product prices are published in the product catalogue (/v1/products) at call time.
The unit: 1 credit = USD 0.001. Prices and balances are whole credits. The ledger keeps integer thousandths of a credit, so no rounding is ever hidden inside a charge. The rate is fixed and published. Changing it would revalue every outstanding balance, so it is not changed silently.
Currency: USD. It is the only currency in which payments are accepted and balances are denominated; a payment in any other currency is refused, never converted.
Minimum top-up: USD 10.00 per top-up.
Charging rule: Only 2xx data responses are charged (P3).
Refunds: Refunds are made on account closure only: the remaining purchased balance is returned at the published credit rate, less payment-provider fees already incurred, to the original payment method. Requested through support at the address in this document and executed by hand by an operator. There is no automatic refund path, and none is claimed. Purchased balances only. A balance that was granted rather than bought — a trial packet, or any later credit given rather than sold — is not refundable.
Human checkpoints:
The bot-economy entry rail (money moment B) is established by a later article. It may share the unit of account with this clause; balances are distinguished by provenance (bought vs earned), and balances purchased under this clause are never withdrawable regardless of any future rules for earned balances.
Disputes: Disputed charges are raised with the request_id of the charged call; the metering record is the evidence of record.
Every product carries a licence and attribution obligation, declared in its /v1/products catalogue entry; clients preserve it when redistributing or deriving from the data (C4). This article is feed-agnostic — licence specifics live in the catalogue.
Stage 1 schedule: products onecall — licence ODbL-1.0, provider OpenWeather, attribution required: “Weather data provided by OpenWeather”.
By the owner: Account closure on request; keys are revoked immediately. A remaining purchased balance is returned under the refund rule in the billing clause. Internal-currency balances, if that rail is ever established, are governed by the article establishing it.
By the platform: suspension → account_suspended (403), appeal: next_action: contact_support, with the support address carried in the error's action_url; quote the request_id.; key block → key_blocked (401), appeal: next_action: contact_support, with the support address carried in the error's action_url; quote the request_id..
Termination is never silent: every terminal state answers with its defined error code.
Data is provided as-is; forecasts are probabilistic. The platform's liability is limited to amounts paid in the preceding billing period. Safety-critical use requires the official alerts of the relevant authority, not this platform alone.
New versions are published at the canonical URL with a dated version string; prior versions remain fetchable at /tos?version=<v>. Material changes are announced via the changelog feed and a platform event before taking effect.
Grandfathering: Existing accounts continue under their accepted version for a stated grace period; calls after the grace period return 403 verification_required with next_action: accept_tos. Minimum notice for material changes: 30 days.