{
  "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
}