{ "opencollection": "1.0.0", "info": { "name": "Clerk Backend Account Portal Organization Roles API", "version": "2025-11-10" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Organization Roles", "type": "folder" }, "items": [ { "info": { "name": "Get a List of Organization Roles", "type": "http" }, "http": { "method": "GET", "url": "https://api.clerk.com/v1/organization_roles", "params": [ { "name": "query", "value": "", "type": "query", "description": "Returns organization roles with ID, name, or key that match the given query.\nUses exact match for organization role ID and partial match for name and key." }, { "name": "order_by", "value": "", "type": "query", "description": "Allows to return organization roles in a particular order.\nAt the moment, you can order the returned organization roles by their `created_at`, `name`, or `key`.\nIn order to specify the direction, you can use the `+/-` symbols prepended in the property to order by.\nFor example, if you want organization roles to be returned in descending order according to their `created_at` property, you can use `-created_at`.\nIf you don't use `+` or `-`, then `+` is implied.\nDefaults to `-created_at`." }, { "name": "limit", "value": "", "type": "query", "description": "Applies a limit to the number of results returned.\nCan be used for paginating the results together with `offset`." }, { "name": "offset", "value": "", "type": "query", "description": "Skip the first `offset` results when paginating.\nNeeds to be an integer greater or equal to zero.\nTo be used in conjunction with `limit`." } ] }, "docs": "This request returns the list of organization roles for the instance.\nResults can be paginated using the optional `limit` and `offset` query parameters.\nThe organization roles are ordered by descending creation date.\nMost recent roles will be returned first." }, { "info": { "name": "Create an Organization Role", "type": "http" }, "http": { "method": "POST", "url": "https://api.clerk.com/v1/organization_roles", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new organization role with the given name and permissions for an instance.\nThe key must be unique for the instance and start with the 'org:' prefix, followed by lowercase alphanumeric characters and underscores only.\nYou can optionally provide a description for the role and specify whether it should be included in the initial role set.\nOrganization roles support permissions that can be assigned to control access within the organization." }, { "info": { "name": "Retrieve an Organization Role", "type": "http" }, "http": { "method": "GET", "url": "https://api.clerk.com/v1/organization_roles/:organization_role_id", "params": [ { "name": "organization_role_id", "value": "", "type": "path", "description": "The ID of the organization role" } ] }, "docs": "Use this request to retrieve an existing organization role by its ID." }, { "info": { "name": "Update an Organization Role", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.clerk.com/v1/organization_roles/:organization_role_id", "params": [ { "name": "organization_role_id", "value": "", "type": "path", "description": "The ID of the organization role to update" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates an existing organization role.\nYou can update the name, key, description, and permissions of the role.\nAll parameters are optional - you can update only the fields you want to change.\nIf the role is used as a creator role or domain default role, updating the key will cascade the update to the organization settings." }, { "info": { "name": "Delete an Organization Role", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.clerk.com/v1/organization_roles/:organization_role_id", "params": [ { "name": "organization_role_id", "value": "", "type": "path", "description": "The ID of the organization role to delete" } ] }, "docs": "Deletes the organization role.\nThe role cannot be deleted if it is currently used as the default creator role, domain default role, assigned to any members, or exists in any invitations." }, { "info": { "name": "Assign a Permission to an Organization Role", "type": "http" }, "http": { "method": "POST", "url": "https://api.clerk.com/v1/organization_roles/:organization_role_id/permissions/:permission_id", "params": [ { "name": "organization_role_id", "value": "", "type": "path", "description": "The ID of the organization role" }, { "name": "permission_id", "value": "", "type": "path", "description": "The ID of the permission to assign" } ] }, "docs": "Assigns a permission to an organization role" }, { "info": { "name": "Remove a Permission from an Organization Role", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.clerk.com/v1/organization_roles/:organization_role_id/permissions/:permission_id", "params": [ { "name": "organization_role_id", "value": "", "type": "path", "description": "The ID of the organization role" }, { "name": "permission_id", "value": "", "type": "path", "description": "The ID of the permission to remove" } ] }, "docs": "Removes a permission from an organization role" } ] } ], "bundled": true }