---
title: "Grant the signup + monthly free credits to every FREE org (idempotent; cron)."
method: POST
path: "/v1/op/billing.free_tier.grant_all"
tags: ["kernel-ops"]
---

# Grant the signup + monthly free credits to every FREE org (idempotent; cron).

`POST /v1/op/billing.free_tier.grant_all`

## Request

- Base URL: `https://api.geopera.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.geopera.com/v1/op/billing.free_tier.grant_all`
- Auth: HTTP bearer

## Headers

- `x-api-key` string, nullable

## Request body

- NoInput: Empty input for cron-only ops. NOT bare `BaseModel`: the kernel instantiates input_model(**body) and pydantic refuses to instantiate BaseModel itself (PydanticUserError) — which made the nightly free-tier grant 500 on every run since it shipped (28 failures in the week to 2026-09-06).

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Validation Error
- `500`: Internal Server Error

---

[API](https://skmtc.dev/geopera/apis/geopera-data-platform.md) · [All operations](https://skmtc.dev/geopera/apis/geopera-data-platform/llms.txt) · [OpenAPI document](https://skmtc.dev/geopera/apis/geopera-data-platform/revisions/d5adab332a7a?raw)
