Getting started
NumeroClaw API
An authenticated workspace API with an async lifecycle. Create a reading, track status, then fetch the result or published artifacts when ready.
Authentication
Send your workspace API key in the x-api-key header on all endpoints:
/api/v1/readings, /api/v1/readings/{id},
/api/v1/readings/{id}/result, /api/v1/readings/{id}/document,
and /api/v1/webhooks.
The platform also supports bearer-authenticated portal routes, but for public integrations
x-api-key is the recommended default.
curl https://api.numeroclaw.com/api/v1/readings \
-H "x-api-key: YOUR_API_KEY"
Create a reading
The current public product is theme. Required request fields:
productId— currentlythemeprofileId— currentlyevanlocale—fr-FRoren-USname.firstNames— required arrayname.middleNames— array, can be emptyname.lastNames— required arraydateOfBirth— strictYYYY-MM-DDgrammaticalProfile.subjectGender—MorF
curl -X POST https://api.numeroclaw.com/api/v1/readings \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"productId": "theme",
"profileId": "evan",
"locale": "en-US",
"name": {
"firstNames": ["Marie-France"],
"middleNames": ["Paulette"],
"lastNames": ["Dubois"]
},
"dateOfBirth": "1990-03-15",
"grammaticalProfile": { "subjectGender": "F" }
}'
POST /api/v1/readings returns 201 Created with a reading resource, not a finished reading body.
Expect status to begin as queued or processing.
Async lifecycle
Model the platform as a state machine.
| Status | Meaning | Action |
|---|---|---|
queued |
Accepted, waiting for processing. | Keep readingId, poll or await webhook. |
processing |
Generation is underway. | Continue polling or wait for webhook. |
completed |
Reading finished successfully. | Fetch /result or published formats. |
failed |
Reading failed with error payload. | Inspect error.code and decide retry. |
Do not hardcode a universal completion window. Different products and workloads may settle on different timing.
Polling
Poll by reading ID when webhooks are not available.
const baseUrl = 'https://api.numeroclaw.com';
async function numeroclaw(path) {
const response = await fetch(baseUrl + path, {
headers: { 'x-api-key': process.env.NUMEROCLAW_API_KEY },
});
if (!response.ok) throw new Error(await response.text());
return response.json();
}
async function waitForReading(readingId, { intervalMs = 10000, maxAttempts = 30 } = {}) {
for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
const reading = await numeroclaw('/api/v1/readings/' + readingId);
if (reading.status === 'completed') {
return numeroclaw('/api/v1/readings/' + readingId + '/result');
}
if (reading.status === 'failed') {
throw new Error('NumeroClaw marked the reading as failed.');
}
await new Promise(resolve => setTimeout(resolve, intervalMs));
}
throw new Error('Reading still not complete. Increase timeout or switch to webhooks.');
}
Webhooks
Register webhooks on the same workspace surface.
Endpoints
GET /api/v1/webhooksPOST /api/v1/webhooksPATCH /api/v1/webhooks/{endpointId}
Event types
reading.completedreading.failedreading.publishedreading.delayed
Webhook creation returns a one-time signingSecret. Deliveries are signed with
x-numeroclaw-signature and x-numeroclaw-timestamp. Format:
t={unixTimestamp},v1={hexHmacSha256} over {timestamp}.{rawBody}.
curl -X POST https://api.numeroclaw.com/api/v1/webhooks \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"url": "https://your-app.example/webhooks/numeroclaw",
"events": ["reading.published", "reading.failed"]
}'
Reading retrieval
Use /result for the stable client-facing payload.
GET /api/v1/readings/{readingId}— workspace reading resource and current status.GET /api/v1/readings/{readingId}/result— stable result, includingclientDocumentandclientAccessUrl.GET /api/v1/readings/{readingId}/document— published artifact in the requested format.
curl https://api.numeroclaw.com/api/v1/readings/READING_ID/result \
-H "x-api-key: YOUR_API_KEY"
Output formats
The Theme product publishes three artifacts after completion:
document_v1— structured JSON documentmarkdown— text/markdown renditionpdf— binary PDF document
curl "https://api.numeroclaw.com/api/v1/readings/READING_ID/document?format=markdown" \
-H "x-api-key: YOUR_API_KEY"
Errors
| Status | Meaning |
|---|---|
400 | Invalid request body, unsupported locale, invalid webhook URL, or unknown product/profile. |
401 | Missing or invalid workspace authentication. |
402 | Insufficient credits for the requested reading. |
403 | Resource belongs to a different workspace, or a portal-only route rejected the auth mode. |
404 | Reading, document, or webhook endpoint not found. |
429 | Rate limit exceeded. Respect Retry-After when present. |
503 | Temporary platform issue such as enqueue or billing configuration failure. |
Integrate
Copy-paste ready for any surface. Pick your runtime, grab the snippet, and you're live.
Paste into any terminal. Returns a reading ID — poll until completed or use webhooks.
curl -X POST https://api.numeroclaw.com/api/v1/readings \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"productId": "theme",
"profileId": "evan",
"locale": "en-US",
"name": {
"firstNames": ["Marie-France"],
"middleNames": ["Paulette"],
"lastNames": ["Dubois"]
},
"dateOfBirth": "1990-03-15",
"grammaticalProfile": { "subjectGender": "F" }
}'
Minimal example with requests. No SDK needed.
import requests
resp = requests.post(
"https://api.numeroclaw.com/api/v1/readings",
headers={
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"productId": "theme",
"profileId": "evan",
"locale": "en-US",
"name": {
"firstNames": ["Marie-France"],
"middleNames": ["Paulette"],
"lastNames": ["Dubois"]
},
"dateOfBirth": "1990-03-15",
"grammaticalProfile": {"subjectGender": "F"}
}
)
reading_id = resp.json()["id"]
# Poll GET /api/v1/readings/{reading_id} until status is "completed"
Browser or Node.js — standard fetch.
const res = await fetch("https://api.numeroclaw.com/api/v1/readings", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
},
body: JSON.stringify({
productId: "theme",
profileId: "evan",
locale: "en-US",
name: {
firstNames: ["Marie-France"],
middleNames: ["Paulette"],
lastNames: ["Dubois"]
},
dateOfBirth: "1990-03-15",
grammaticalProfile: { subjectGender: "F" }
})
});
const { id } = await res.json();
// Poll GET /api/v1/readings/{id} until status is "completed"
Paste this prompt into Claude Code or Codex. The agent handles the API calls, polling, and result retrieval for you. Copy-paste friendly — fits in a single Discord or Telegram message.
Generate a numerology reading using the NumeroClaw API.
POST https://api.numeroclaw.com/api/v1/readings
Header: x-api-key: YOUR_API_KEY
Header: Content-Type: application/json
Body:
{
"productId": "theme",
"profileId": "evan",
"locale": "fr-FR",
"name": {
"firstNames": ["Marie-France"],
"middleNames": ["Paulette"],
"lastNames": ["Dubois"]
},
"dateOfBirth": "1990-03-15",
"grammaticalProfile": { "subjectGender": "F" }
}
Poll GET /api/v1/readings/{id} until status is "completed".
Then fetch the result from GET /api/v1/readings/{id}/result.
Add this to your agent's system prompt or tool configuration. The agent will generate readings on demand when users ask. Copy-paste friendly — fits in a single Discord or Telegram message.
You have access to the NumeroClaw API for generating professional
numerology readings.
Endpoint: POST https://api.numeroclaw.com/api/v1/readings
Auth: x-api-key: YOUR_API_KEY
Product: "theme" (complete personal numerology theme, 20 credits)
Locales: "fr-FR" or "en-US"
When a user asks for a numerology reading, collect:
- Full birth name (first, middle, last)
- Date of birth (YYYY-MM-DD)
- Gender (M or F, for grammatical agreement)
- Preferred language
Call the API, then poll GET /api/v1/readings/{id}
until status is "completed".
Return the reading from GET /api/v1/readings/{id}/result.
NumeroClaw CLI
Prefer the command line? The NumeroClaw CLI is a standalone binary that creates readings, polls for completion, and downloads PDFs — all from your terminal. One binary, zero dependencies. Available for macOS, Linux, and Windows.
numeroclaw create # guided interactive creation
numeroclaw batch run f.csv # process a CSV of readings
numeroclaw doctor # diagnose config + connectivity
NumeroClaw Dashboard
Prefer not to code? Log into your workspace at app.numeroclaw.com to create readings manually. Enter a name and birth date, pick your language and format, and download the result — no API calls needed.
Sample output
Full readings generated by the API. Click a card to open the published reading.
Your personal numerology study
Hello, I'm glad to be with you for this personal numerology study. It's a journey we'll take together, looking at the patterns and impulses that shape your daily life.
Machine-readable surfaces
/llms.txt— lightweight agent discovery/llms-full.txt— complete API docs for RAG pipelines/docs/reference.md— full Markdown corpus/rss.xml— product updates feed/robots.txt— crawler directives/sitemap.xml— sitemap with hreflang