Make the first request deliberately
Choose an operation, create the credential type and scope it declares, use the documented base URL and versioned path, validate the response, and retain the request ID.
Developer reference
Use versioned routes, scoped authentication, strict schemas, typed errors, cursor pagination, replay-safe mutations, signed webhooks, and generated SDK contracts.
Versioned, scoped, and replay-safe
Why RadiantOS
Choose an operation, create the credential type and scope it declares, use the documented base URL and versioned path, validate the response, and retain the request ID.
Every operation identifies method and path, auth scheme, tenant source, region rule, permission, entitlement, request and response schemas, rate limit, idempotency, and audit action.
Use typed error metadata, retry-after guidance, stable idempotency keys, webhook delivery identities, reconciliation, and dead-letter replay paths.
From signal to proof
Match the integration to its documented user, portal, agent mTLS, service mTLS, signed-webhook, or public-read contract and grant the least privilege.
Send only the allowed params, query, headers, and body; parse the strict response or error envelope; preserve request and provider identifiers for reconciliation.
Respect rate limits and retryability, prevent duplicate mutations, verify webhook delivery, monitor failures, rotate credentials, and test revocation.
Developer reference
curl --request GET '<base_url>/api/v1/<resource>?limit=50' --header 'Authorization: Bearer <access_token>'. Replace each placeholder with the values shown by the operation reference.
For an operation that requires header-key idempotency: curl --request POST '<base_url>/api/v1/<resource>' --header 'Authorization: Bearer <access_token>' --header 'Idempotency-Key: <unique_key>' --header 'Content-Type: application/json' --data '{"<field>":"<value>"}'.
Each operation declares its principal, credential scheme, tenant source, region assertion, RBAC or service grant, ABAC condition, entitlement, and audit action.
A denied request is shaped like {"error":{"code":"permission_denied","message":"You do not have permission to perform this action.","request_id":"req_...","route_id":"rmm.command.create","retryable":false,"details":{}}}. Preserve request_id and route_id when troubleshooting.
Lists use cursor pagination: ?limit=50&cursor=<cursor>, with items, next_cursor, and has_more in the response. Route allow-lists control filters and sort fields; the default maximum limit is 250 unless an operation declares less.
Receive the raw request, verify signature, timestamp, and source, resolve the tenant from the stored provider mapping, ledger the provider event ID, acknowledge safely, process idempotently, emit audit evidence, and route terminal failures to the dead-letter replay path.
Customer API routes use /api/v1. A breaking change moves to /api/v2, uses a compatibility adapter, or follows an explicit migration window. Deprecations include a replacement route ID, sunset date, migration notes, and usage evidence before removal.
Built for MSP control
RadiantOS keeps scope, access, approval, data placement, and audit evidence visible where the decision happens.
Review the security approachAuthentication is only the first gate. Every request also passes declared tenant, region, permission, entitlement, schema, rate, replay, and audit checks before domain work runs.
The route and schema catalog generates OpenAPI 3.1 operation references and TypeScript, Go, and Python client contracts; drift and unapproved breaking changes fail the contract gate.
Questions, answered
Use the scheme declared by the operation. Customer integrations use the scoped credential path shown in their reference; agents, services, and provider callbacks use their declared mTLS or signature contract.
Retry only when the typed error marks the failure retryable. Respect retry_after_seconds, keep the same idempotency key for the same intended mutation, and stop at the documented retry budget.
Retain the operation or route ID, request ID, timestamp, HTTP status, retryability, and content-safe integration context. Never log access tokens, webhook secrets, or customer payloads unnecessarily.