Canonical Authz Groups Service API

The AuthzGroupsService API from Canonical — 5 operation(s) for authzgroupsservice.

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v0/authz/groups List authorization groups · Authz groups service list groups #
Ask an LLM
“Which authorization groups are defined in the identity platform admin?”
“Can I page through groups a few at a time?”
Tell an agent
List all authorization groups.
List authorization groups, {size} per page, from page token {pageToken}.
POST /api/v0/authz/groups Create an authorization group · Authz groups service create group #
Ask an LLM
“How do I create a new group for granting permissions?”
“Can I give a new authorization group a type and description?”
Tell an agent
Create authorization group {name}.
Create group {name} of type {type} described as {description}.
DELETE /api/v0/authz/groups/{id} Delete an authorization group · Authz groups service remove group #
Ask an LLM
“How do I delete an authorization group entirely?”
“What happens to members when I remove a group?”
Tell an agent destructive · confirm first
Delete authorization group {id}.
Remove group {id} from the identity platform.
GET /api/v0/authz/groups/{id} Get an authorization group · Authz groups service get group #
Ask an LLM
“What are the name and type of a specific authorization group?”
“Can I look up one group by its id?”
Tell an agent
Show authorization group {id}.
Get the details of group {id}.
PUT /api/v0/authz/groups/{id} Update an authorization group · Authz groups service update group #
Ask an LLM
“How do I rename an authorization group or change its description?”
“Can I change a group's type after creating it?”
Tell an agent
Rename authorization group {id} to {name}.
Set the description of group {id} to {description}.
GET /api/v0/authz/groups/{id}/users List the users in an authorization group · Authz groups service list users in group #
Ask an LLM
“Who are the members of a given authorization group?”
“Can I page through a large group's user list?”
Tell an agent
List the users in group {id}.
Show members of group {id}, {size} at a time.
POST /api/v0/authz/groups/{id}/users Add users to an authorization group · Authz groups service add users to group #
Ask an LLM
“How do I add several people to one authorization group at once?”
“Can I bulk-assign users to a group?”
Tell an agent
Add these users to authorization group {id}.
Put the listed user accounts into group {id}.
DELETE /api/v0/authz/groups/{id}/users/{user_id} Remove a user from an authorization group · Authz groups service remove user from group #
Ask an LLM
“How do I take one person out of an authorization group?”
“Does removing a user from a group revoke the permissions it granted?”
Tell an agent destructive · confirm first
Remove user {user_id} from group {id}.
Take {user_id} out of authorization group {id}.
GET /api/v0/authz/users/{id}/groups List the groups a user belongs to · Authz groups service list user groups #
Ask an LLM
“Which authorization groups is a particular user a member of?”
“Can I check a user's group memberships page by page?”
Tell an agent
List the groups user {id} belongs to.
Show group memberships of user {id}, {size} per page.
PUT /api/v0/authz/users/{id}/groups Add a user to several groups · Authz groups service add user to groups #
Ask an LLM
“How do I put one user into multiple authorization groups at once?”
“Can I assign a user's group memberships in a single call?”
Tell an agent
Add user {id} to these groups.
Assign user {id} to the listed authorization groups.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canonical:canonical-authzgroupsservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canonical-authzgroupsservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Identity Platform API
    url: https://github.com/canonical/identity-platform-api
  description: REST API for the Admin UI service
  license:
    name: AGPL-3.0
    url: https://github.com/canonical/identity-platform-api/blob/main/LICENSE
  title: Identity Platform Authz Groups Service API
  version: '0.1'
tags:
- name: AuthzGroupsService
paths:
  /api/v0/authz/groups:
    get:
      operationId: AuthzGroupsService_ListGroups
      parameters:
      - in: query
        name: pagination.size
        schema:
          format: int32
          type: integer
      - in: query
        name: pagination.pageToken
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiauthz_groupsListGroupsResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service list groups
      x-summary-source: derived
    post:
      operationId: AuthzGroupsService_CreateGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/authz_groupsGroupInput'
        required: true
        x-originalParamName: group
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiauthz_groupsCreateGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service create group
      x-summary-source: derived
  /api/v0/authz/groups/{id}:
    delete:
      operationId: AuthzGroupsService_RemoveGroup
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiauthz_groupsRemoveGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service remove group
      x-summary-source: derived
    get:
      operationId: AuthzGroupsService_GetGroup
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiauthz_groupsGetGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service get group
      x-summary-source: derived
    put:
      operationId: AuthzGroupsService_UpdateGroup
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/authz_groupsGroupInput'
        required: true
        x-originalParamName: group
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiauthz_groupsUpdateGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service update group
      x-summary-source: derived
  /api/v0/authz/groups/{id}/users:
    get:
      operationId: AuthzGroupsService_ListUsersInGroup
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: query
        name: pagination.size
        schema:
          format: int32
          type: integer
      - in: query
        name: pagination.pageToken
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authz_groupsListUsersInGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service list users in group
      x-summary-source: derived
    post:
      operationId: AuthzGroupsService_AddUsersToGroup
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              items:
                type: string
              type: array
        required: true
        x-originalParamName: user_ids
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authz_groupsAddUsersToGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service add users to group
      x-summary-source: derived
  /api/v0/authz/groups/{id}/users/{user_id}:
    delete:
      operationId: AuthzGroupsService_RemoveUserFromGroup
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authz_groupsRemoveUserFromGroupResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service remove user from group
      x-summary-source: derived
  /api/v0/authz/users/{id}/groups:
    get:
      operationId: AuthzGroupsService_ListUserGroups
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: query
        name: pagination.size
        schema:
          format: int32
          type: integer
      - in: query
        name: pagination.pageToken
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authz_groupsListUserGroupsResp'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service list user groups
      x-summary-source: derived
    put:
      operationId: AuthzGroupsService_AddUserToGroups
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              items:
                type: string
              type: array
        required: true
        x-originalParamName: group_ids
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authz_groupsAddUserToGroupsResp'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - AuthzGroupsService
      summary: Authz groups service add user to groups
      x-summary-source: derived
components:
  schemas:
    apiauthz_groupsGetGroupResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apiauthz_groupsGroup'
          type: array
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    authz_groupsAddUserToGroupsResp:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    authz_groupsListUsersInGroupResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/authz_groupsUser'
          type: array
        message:
          type: string
        meta:
          $ref: '#/components/schemas/typesPagination'
        status:
          format: int32
          type: integer
      type: object
    apiauthz_groupsListGroupsResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apiauthz_groupsGroup'
          type: array
        message:
          type: string
        meta:
          $ref: '#/components/schemas/typesPagination'
        status:
          format: int32
          type: integer
      type: object
    apiauthz_groupsUpdateGroupResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apiauthz_groupsGroup'
          type: array
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    apiauthz_groupsGroup:
      properties:
        created_at:
          format: date-time
          type: string
        description:
          type: string
        id:
          type: string
        name:
          type: string
        tenant_id:
          type: string
        type:
          type: string
        updated_at:
          format: date-time
          type: string
      type: object
    authz_groupsRemoveUserFromGroupResp:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    typesErrorResponse:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    authz_groupsGroupInput:
      properties:
        description:
          type: string
        name:
          type: string
        type:
          type: string
      type: object
    apiauthz_groupsRemoveGroupResp:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    authz_groupsAddUsersToGroupResp:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    apiauthz_groupsCreateGroupResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apiauthz_groupsGroup'
          type: array
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    authz_groupsUser:
      properties:
        created_at:
          format: date-time
          type: string
        id:
          type: string
        role:
          type: string
        updated_at:
          format: date-time
          type: string
      type: object
    typesPagination:
      properties:
        next:
          type: string
        pageToken:
          type: string
        prev:
          type: string
        size:
          format: int32
          type: integer
      type: object
    authz_groupsListUserGroupsResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apiauthz_groupsGroup'
          type: array
        message:
          type: string
        meta:
          $ref: '#/components/schemas/typesPagination'
        status:
          format: int32
          type: integer
      type: object
  securitySchemes:
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: https://example.com/oauth/authorize
          scopes:
            email: ''
            openid: ''
            profile: ''
          tokenUrl: https://example.com/oauth/token
      type: oauth2
externalDocs:
  description: REST API for the Admin UI service
  url: https://github.com/canonical/identity-platform-admin-ui/blob/main/API.md