Welcome
The Bedrock API provides a comprehensive authorization and access control system. It enables you to manage subjects (users, API keys, services, agents), scopes (organizational hierarchies), roles, permissions, resources, tags, and fine-grained access control through overrides.ID Format
All entity IDs use a namespaced UUIDv7 format for easy identification and sorting:| Namespace | Entity |
|---|---|
subject | Subjects (users, agents, etc.) |
scope | Scopes |
scope_type | Scope Types |
role | Roles |
permission | Permissions |
resource | Resources |
resource_type | Resource Types |
tag | Tags |
tag_group | Tag Groups |
Core Concepts
Subjects
Users, API keys, services, or agents that can be granted access
Scopes
Hierarchical organizational units (orgs, teams, projects)
Roles
Named collections of permissions assignable to memberships
Permissions
Granular access rights (e.g., read:documents, write:documents)
Resources
Protected objects with types and hierarchies
Tags
Flexible metadata and categorization
How It Works
- Subjects are added to Scopes via Memberships
- Roles are assigned to Memberships via Role Assignments
- Permissions are assigned to Roles via Role Permissions
- Resources are created within Scopes with Resource Types
- Tags can be applied to resources, subjects, and other entities
- Scope Overrides allow fine-tuning inherited roles/permissions at child scopes
Batch Operations
Most create endpoints support batch operations via a/batch suffix. Batch requests:
- Accept an array of objects
- Support client-provided IDs for in-batch references
- Validate ID uniqueness within the batch
- Return an array of created entities
Authentication
All API endpoints require Bearer token authentication.Base URL
API Groups
Core Authorization
| Group | Description |
|---|---|
| Subjects | Manage users, API keys, services, and agents |
| Memberships | Add/remove subjects from scopes |
| Roles | Define roles within scopes |
| Role Assignments | Assign roles to memberships |
| Permissions | Define permissions within scopes |
| Role Permissions | Map permissions to roles |
| Scopes | Manage organizational hierarchy nodes |
| Scope Types | Define types of scopes (org, team, project) |
| Scope Hierarchy | Manage parent-child scope relationships |
| Scope Type Hierarchy | Define valid type relationships |
| Scope Overrides | Override inherited roles/permissions at child scopes |
| Resource Types | Define categories of protected resources |
| Resources | Manage protected objects within scopes |
Tags & Classification
| Group | Description |
|---|---|
| Tag Groups | Define categories of tags |
| Tags | Create tags within groups |
| Tag Bindings | Control which models can use which tag groups |
| Tag Assignments | Assign tags to resources, subjects, etc. |
Management Models (Bedrock Cloud)
| Group | Description |
|---|---|
| Tenants | Customer accounts with billing and limits |
| Workspaces | Logical groupings within tenants |
| Projects | Applications or services within workspaces |
| Environments | Deployment stages (prod, staging, dev) |
| Users | Human users with IDP integration |
| API Keys | Programmatic access credentials |