Authorization header. This page walks you through finding your base URL, minting a key, and using it correctly.
Finding your base URL
Before you make any API calls, locate your personal deployment URL. Open Settings → API & MCP in the OneRep app — your base URL is displayed there. Copy it directly from the app rather than trying to construct it by hand.Creating an API key
1
Open Settings → API & MCP
In the OneRep app, navigate to Settings → API & MCP. Any existing keys are listed here, and this is also where you revoke them.
2
Name your key
Give the key a name that describes where it will live — for example
home-dashboard, claude-assistant, or tuesday-lunch-script. A descriptive name makes it obvious which key to revoke if something goes wrong.3
Choose a scope
Select Read only or Read & write depending on what your integration needs to do. Read only is the safer default — most integrations only ever read. You cannot change the scope after the key is created, so pick carefully.
4
Copy the key immediately
After the key is created it is displayed exactly once. Copy it now and store it somewhere secure — a password manager or an environment variable in your deployment. OneRep stores only a hash of the key and cannot show it to you again.
Using your key
Pass the key as aBearer token in the Authorization header on every request:
Content-Type: application/json:
401 unauthorized.
Key properties
- Format: Keys look like
onerep_sk_… - Shown once: The value is displayed only at creation; store it immediately
- Stored hashed: OneRep stores a SHA-256 hash — nobody can read the original key back out
- Limit: You can have up to 10 live keys per account at any time
- Revocation: Open Settings → API & MCP, find the key by name, and revoke it. Revocation takes effect on the next request
Scopes
Every key carries a scope that determines which routes it can call.
Read-only enforcement is strict: a
POST route called with a read-only key returns 403 insufficient_scope immediately, before any work happens. There is no way to persuade a read-only key to write.
Scope cannot be changed after a key is created. If you need a different scope, revoke the existing key and mint a new one.
Rate limits
Rate limits apply per key, not per account, so separate integrations do not compete with each other.
Limits run in a fixed window. When you exceed a limit, the API responds with
429 rate_limited and a Retry-After header indicating how many seconds to wait. Retry on 429 and server errors (5xx); do not retry on client errors (4xx).