Limits

The organization-wide rate, concurrency and quota limits are on limits. These are the platform's own:

LimitValue
Key and project name100 characters
metadata on any object16 pairs; keys up to 40 characters, values up to 500 characters
Request body for keys, projects and organizations16 KiB
CLI token from b3os login90 days by default; you choose 1 to 365 days when you approve it
Email sign-in code6 digits, valid for 10 minutes
Webhook URL2,048 characters
Webhook secret rotation, grace_sUp to 7 days; a day by default
Job webhook deliveriesAnswer with a 2xx within 10 seconds; failures are retried with backoff for 24 hours
Webhook delivery history7 days
Request log7 days
Idempotency keys24 hours, per project

FAQ

The key you get when you redeem your invite has every product scope but not platform:write, vault:write or *. Create a key with platform:write in the dashboard, and keep it out of your agents' hands.

No. Scopes are fixed when the key is created. Create a key with the scopes you want, deploy it, then revoke the old one. PATCH changes only the name, spend cap, expiry and metadata.

Requests with it fail at once, and streams it opened close within a minute. Routines published with it pause their triggers until you publish a new version with a valid key. The revoked key stays listed for audit.

Keys, usage, limits, organizations, projects and the pack registry are served at https://beta-api.b3os.org only, not on the node. Call them there with a key.

The list holds what the node served. Requests the edge answered by itself, such as key management or a request refused before it reached the node, are not listed; fetch them by their x-request-id with GET /v1/requests/{request_id}.

Yes, when they differ only in the case of the scheme and host or in a default port: B3OS lowercases both and drops the port before it looks up the secret. Any other difference, such as a trailing slash or a query string, is a different URL with its own secret.

The dashboard signs you in with GitHub or with a 6-digit code sent by email, then keeps a session cookie. The CLI uses a device login instead, and code uses API keys. See platform.

Ask a question... ⌘I