How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canonical Identity Platform API

The API of Canonical's Identity Platform — an OIDC/OAuth 2.0 identity provider built on Ory and delivered as a Juju charm bundle. Covers identities, clients, schemas, providers, roles, groups, rules and entitlements. Canonical publishes an OpenAPI 3.0.3 contract with 45 paths and 79 operations, plus a gRPC-gateway swagger form in the same repository.

Canonical Identity Platform API is one of 22 APIs that Canonical publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Identity, OIDC, and Authentication. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 79 operations across 45 paths, organized into 12 resource areas, and defines 113 schemas. It is described by OpenAPI 3.0.3, at version 0.1.

79 operations 45 paths 113 schemas 16 DELETE36 GET9 PATCH13 POST5 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
0.1
Authentication
OAuth 2.0
License
Resource Areas
12

Authentication & Security 1

Canonical Identity Platform API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OAuth2) using the authorizationCode flow, exposing 3 scopes.

Paths & Operations 79

Across 45 paths, the API surfaces 79 operations — 16 DELETE, 36 GET, 9 PATCH, 13 POST, 5 PUT. They span 12 resource areas, including AuthenticationService, AppAuthorizationService, AuthzGroupsService, ClientsService, GroupsService, IdentitiesService, IdpsService, TenantService, and 4 more. Each is listed below with its method, path, parameters, and response codes.

AuthenticationService 4
GET
/api/v0/auth
AuthenticationService_Login 1 param → 302default
GET
/api/v0/auth/callback
AuthenticationService_Callback 3 params → 302400default
GET
/api/v0/auth/logout
AuthenticationService_Logout 1 param → 302400401403default
GET
/api/v0/auth/me
AuthenticationService_Me → 200401403default
AppAuthorizationService 6
DELETE
/api/v0/authz/apps/{app_id}/groups
RemoveAllowedGroupsForApp removes an app from all groups it is allowed in.
AppAuthorizationService_RemoveAllowedGroupsForApp 1 param → 200400401403default
GET
/api/v0/authz/apps/{app_id}/groups
GetAllowedGroupsForApp retrieves the list of groups an app is allowed in.
AppAuthorizationService_GetAllowedGroupsForApp 1 param → 200401403default
DELETE
/api/v0/authz/groups/{group_id}/apps
RemoveAllowedAppsFromGroup removes all apps from the allowed list of a group.
AppAuthorizationService_RemoveAllowedAppsFromGroup 1 param → 200400401403default
GET
/api/v0/authz/groups/{group_id}/apps
GetAllowedAppsInGroup retrieves the list of apps allowed in a specific group.
AppAuthorizationService_GetAllowedAppsInGroup 1 param → 200401403default
POST
/api/v0/authz/groups/{group_id}/apps
AddAllowedAppToGroup adds an app to the allowed list of a group.
AppAuthorizationService_AddAllowedAppToGroup 1 param body → 201400401403default
DELETE
/api/v0/authz/groups/{group_id}/apps/{app_id}
RemoveAllowedAppFromGroup removes a specific app from the allowed list of a group.
AppAuthorizationService_RemoveAllowedAppFromGroup 2 params → 200400401403default
AuthzGroupsService 10
GET
/api/v0/authz/groups
AuthzGroupsService_ListGroups 2 params → 200400401403default
POST
/api/v0/authz/groups
AuthzGroupsService_CreateGroup body → 201400401403default
DELETE
/api/v0/authz/groups/{id}
AuthzGroupsService_RemoveGroup 1 param → 200400401403default
GET
/api/v0/authz/groups/{id}
AuthzGroupsService_GetGroup 1 param → 200400401403default
PUT
/api/v0/authz/groups/{id}
AuthzGroupsService_UpdateGroup 1 param body → 200400401403default
GET
/api/v0/authz/groups/{id}/users
AuthzGroupsService_ListUsersInGroup 3 params → 200400401403default
POST
/api/v0/authz/groups/{id}/users
AuthzGroupsService_AddUsersToGroup 1 param body → 200400401403default
DELETE
/api/v0/authz/groups/{id}/users/{user_id}
AuthzGroupsService_RemoveUserFromGroup 2 params → 200400401403default
GET
/api/v0/authz/users/{id}/groups
AuthzGroupsService_ListUserGroups 3 params → 200400401403default
PUT
/api/v0/authz/users/{id}/groups
AuthzGroupsService_AddUserToGroups 1 param body → 200401403default
ClientsService 5
GET
/api/v0/clients
ClientsService_ListClients 4 params → 200401403default
POST
/api/v0/clients
ClientsService_CreateClient body → 201400401403default
DELETE
/api/v0/clients/{id}
ClientsService_RemoveClient 1 param → 200401403default
GET
/api/v0/clients/{id}
ClientsService_GetClient 1 param → 200401403default
PUT
/api/v0/clients/{id}
ClientsService_UpdateClient 1 param body → 200400401403404default
GroupsService 14
GET
/api/v0/groups
GroupsService_ListGroups → 200401403default
POST
/api/v0/groups
GroupsService_CreateGroup body → 201400401403default
DELETE
/api/v0/groups/{id}
GroupsService_RemoveGroup 1 param → 200401403default
GET
/api/v0/groups/{id}
GroupsService_GetGroup 1 param → 200401403default
PATCH
/api/v0/groups/{id}
GroupsService_UpdateGroup 1 param body → 401403501default
GET
/api/v0/groups/{id}/entitlements
GroupsService_ListGroupEntitlements 2 params → 200401403default
PATCH
/api/v0/groups/{id}/entitlements
GroupsService_UpdateGroupEntitlements 1 param body → 201400401403default
DELETE
/api/v0/groups/{id}/entitlements/{entitlementId}
GroupsService_RemoveGroupEntitlement 2 params → 200400401403default
GET
/api/v0/groups/{id}/identities
GroupsService_GetGroupIdentities 1 param → 200401403default
PATCH
/api/v0/groups/{id}/identities
GroupsService_UpdateGroupIdentities 1 param body → 201400401403default
DELETE
/api/v0/groups/{id}/identities/{identityId}
GroupsService_RemoveGroupIdentity 2 params → 200401403default
GET
/api/v0/groups/{id}/roles
GroupsService_GetGroupRoles 1 param → 200401403default
POST
/api/v0/groups/{id}/roles
GroupsService_UpdateGroupRoles 1 param body → 201400401403default
DELETE
/api/v0/groups/{id}/roles/{roleId}
GroupsService_RemoveGroupRole 2 params → 200401403default
IdentitiesService 5
GET
/api/v0/identities
IdentitiesService_ListIdentities 3 params → 200401403default
POST
/api/v0/identities
IdentitiesService_CreateIdentity body → 201400401403default
DELETE
/api/v0/identities/{id}
IdentitiesService_RemoveIdentity 1 param → 200401403default
GET
/api/v0/identities/{id}
IdentitiesService_GetIdentity 1 param → 200401403default
PUT
/api/v0/identities/{id}
IdentitiesService_UpdateIdentity 1 param body → 200400401403default
IdpsService 5
GET
/api/v0/idps
IdpsService_ListIdps → 200401403default
POST
/api/v0/idps
IdpsService_CreateIdp body → 201400401403default
DELETE
/api/v0/idps/{id}
IdpsService_RemoveIdp 1 param → 200401403default
GET
/api/v0/idps/{id}
IdpsService_GetIdp 1 param → 200401403default
PATCH
/api/v0/idps/{id}
IdpsService_UpdateIdp 1 param body → 200400401403404default
TenantService 11
GET
/api/v0/me/tenants
Public Endpoints
TenantService_ListMyTenants 1 param → 200401403default
GET
/api/v0/tenants
Internal Admin Endpoints
TenantService_ListTenants 3 params → 200401403default
POST
/api/v0/tenants
TenantService_CreateTenant body → 201400401403default
DELETE
/api/v0/tenants/{tenant_id}
TenantService_DeleteTenant 1 param → 200400401403404default
PATCH
/api/v0/tenants/{tenant_id}
TenantService_UpdateTenant 1 param body → 200400401403404default
POST
/api/v0/tenants/{tenant_id}/invites
TenantService_InviteMember 1 param body → 201400401403default
GET
/api/v0/tenants/{tenant_id}/users
TenantService_ListTenantUsers 7 params → 200400401403default
POST
/api/v0/tenants/{tenant_id}/users
TenantService_ProvisionUser 1 param body → 201400401403default
PATCH
/api/v0/tenants/{tenant_id}/users/{user_id}
TenantService_UpdateTenantUser 2 params body → 200400401403404default
GET
/api/v0/tenants/lookup
Lookup tenants (internal)
TenantService_LookupTenants 2 params → 200400401403default
GET
/api/v0/users/{user_id}/tenants
TenantService_ListUserTenants 2 params → 200400401403default
MetricsService 1
GET
/api/v0/metrics
MetricsService_ListMetrics → 200default
RolesService 9
GET
/api/v0/roles
RolesService_ListRoles → 200401403default
POST
/api/v0/roles
RolesService_CreateRole body → 201401403default
DELETE
/api/v0/roles/{id}
RolesService_RemoveRole 1 param → 200401403default
GET
/api/v0/roles/{id}
RolesService_GetRole 1 param → 200401403404default
PATCH
/api/v0/roles/{id}
RolesService_UpdateRole 1 param body → 401403501default
GET
/api/v0/roles/{id}/entitlements
RolesService_ListRoleEntitlements 2 params → 200401403default
PATCH
/api/v0/roles/{id}/entitlements
RolesService_UpdateRoleEntitlements 1 param body → 200401403default
DELETE
/api/v0/roles/{id}/entitlements/{entitlementId}
RolesService_RemoveRoleEntitlement 2 params → 200401403default
GET
/api/v0/roles/{id}/groups
RolesService_GetRoleGroups 1 param → 200401403default
SchemasService 7
GET
/api/v0/schemas
SchemasService_ListSchemas 2 params → 200401403default
POST
/api/v0/schemas
SchemasService_CreateSchema body → 201400401403default
DELETE
/api/v0/schemas/{id}
SchemasService_RemoveSchema 1 param → 200401403default
GET
/api/v0/schemas/{id}
SchemasService_GetSchema 1 param → 200401403404default
PATCH
/api/v0/schemas/{id}
SchemasService_UpdateSchema 1 param body → 200400401403404default
GET
/api/v0/schemas/default
SchemasService_GetDefaultSchema → 200401403default
PUT
/api/v0/schemas/default
SchemasService_UpdateDefaultSchema body → 200400401403404default
StatusService 2
GET
/api/v0/status
StatusService_GetStatus → 200default
GET
/api/v0/version
StatusService_GetVersion → 200default

Schemas 113

The contract defines 113 schemas that model the data the API accepts and returns. The most detailed are clientsClient (47 properties), idpsUpdateIdpBody (16 properties), idpsCreateIdpBody (16 properties), idpsIdp (16 properties). Each schema is shown below with its type and property counts.

TenantServiceInviteMemberBody
object
2 properties
TenantServiceProvisionUserBody
object
2 properties
TenantServiceUpdateTenantBody
object
2 properties
TenantServiceUpdateTenantUserBody
object
1 property
apiauthorizationGroup
object
1 property
apiauthz_groupsCreateGroupResp
object
3 properties
apiauthz_groupsGetGroupResp
object
3 properties
apiauthz_groupsGroup
object
7 properties
apiauthz_groupsListGroupsResp
object
4 properties
apiauthz_groupsRemoveGroupResp
object
2 properties
apiauthz_groupsUpdateGroupResp
object
3 properties
apigroupsCreateGroupResp
object
4 properties
apigroupsGetGroupResp
object
4 properties
apigroupsGroup
object
2 properties
apigroupsListGroupsResp
object
4 properties
apigroupsRemoveGroupResp
object
2 properties
apigroupsUpdateGroupResp
object
apischemasSchema
object
3 properties
apistatusStatus
object
2 properties
authenticationMeResp
object
5 properties
authorizationAddAllowedAppToGroupResp
object
2 properties
authorizationApp
object
1 property
authorizationGetAllowedAppsInGroupResp
object
3 properties
authorizationGetAllowedGroupsForAppResp
object
3 properties
authorizationRemoveAllowedAppFromGroupResp
object
2 properties
authorizationRemoveAllowedAppsFromGroupResp
object
2 properties
authorizationRemoveAllowedGroupsForAppResp
object
2 properties
authz_groupsAddUserToGroupsResp
object
2 properties
authz_groupsAddUsersToGroupResp
object
2 properties
authz_groupsGroupInput
object
3 properties
authz_groupsListUserGroupsResp
object
4 properties
authz_groupsListUsersInGroupResp
object
4 properties
authz_groupsRemoveUserFromGroupResp
object
2 properties
authz_groupsUser
object
4 properties
clientsClient
object
47 properties
clientsCreateClientResp
object
3 properties
clientsGetClientResp
object
3 properties
clientsListClientsResp
object
4 properties
clientsRemoveClientResp
object
2 properties
clientsUpdateClientResp
object
3 properties
googlerpcStatus
object
3 properties
groupsGetGroupIdentitiesResp
object
4 properties
groupsGetGroupRolesResp
object
4 properties
groupsIdentities
object
1 property
groupsListGroupEntitlementsResp
object
3 properties
groupsRemoveGroupEntitlementResp
object
2 properties
groupsRemoveGroupIdentityResp
object
2 properties
groupsRemoveGroupRoleResp
object
2 properties
groupsRoles
object
1 property
groupsUpdateGroupEntitlementsResp
object
2 properties
groupsUpdateGroupIdentitiesResp
object
2 properties
groupsUpdateGroupRolesResp
object
2 properties
identitiesCreateIdentityBody
object
9 properties
identitiesCreateIdentityResp
object
4 properties
identitiesGetIdentityResp
object
4 properties
identitiesIdentity
object
15 properties
identitiesIdentityCredentials
object
7 properties
identitiesListIdentitiesResp
object
4 properties
identitiesNullableString
object
2 properties
identitiesRecoveryIdentityAddress
object
6 properties
identitiesRemoveIdentityResp
object
3 properties
identitiesUpdateIdentityBody
object
7 properties
identitiesUpdateIdentityResp
object
4 properties
identitiesVerifiableIdentityAddress
object
9 properties
idpsCreateIdpBody
object
16 properties
idpsCreateIdpResp
object
3 properties
idpsGetIdpResp
object
3 properties
idpsIdp
object
16 properties
idpsListIdpsResp
object
3 properties
idpsRemoveIdpResp
object
2 properties
idpsUpdateIdpBody
object
16 properties
idpsUpdateIdpResp
object
3 properties
protobufAny
object
Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides supp…
1 property
protobufNullValue
string
NullValue is a singleton enumeration to represent the null value for the Value type union. The JSON representation for NullValue is JSON null. - NULLVALUE: Nul…
rolesCreateRoleResp
object
4 properties
rolesGetRoleGroupsResp
object
4 properties
rolesGetRoleResp
object
4 properties
rolesListRoleEntitlementsResp
object
3 properties
rolesListRolesResp
object
4 properties
rolesRemoveRoleEntitlementResp
object
2 properties
rolesRemoveRoleResp
object
2 properties
rolesRole
object
2 properties
rolesUpdateRoleEntitlementsResp
object
2 properties
rolesUpdateRoleResp
object
schemasCreateSchemaResp
object
3 properties
schemasDefaultSchema
object
1 property
schemasGetDefaultSchemaResp
object
3 properties
schemasGetSchemaResp
object
3 properties
schemasListSchemasResp
object
4 properties
schemasRemoveSchemaResp
object
2 properties
schemasUpdateDefaultSchemaResp
object
3 properties
schemasUpdateSchemaResp
object
3 properties
statusBuildInfo
object
3 properties
tenantCreateTenantRequest
object
1 property
tenantCreateTenantResponse
object
1 property
tenantDeleteTenantResponse
object
2 properties
tenantInviteMemberResponse
object
3 properties
tenantListMyTenantsResponse
object
1 property
tenantListTenantUsersResponse
object
2 properties
tenantListTenantsResponse
object
2 properties
tenantListUserTenantsResponse
object
1 property
tenantLookupTenantsResponse
object
1 property
tenantProvisionUserResponse
object
1 property
tenantTenant
object
4 properties
tenantTenantInput
object
2 properties
tenantTenantUser
object
3 properties
tenantUpdateTenantResponse
object
1 property
tenantUpdateTenantUserResponse
object
1 property
typesErrorResponse
object
2 properties
typesPagination
object
4 properties
typesPaginationInput
object
2 properties
typesPermission
object
2 properties
typesPermissions
object
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canonical-identity-platform-api-openapi.yml Raw ↑

Other APIs Canonical publishes across the network.

Snap Store API
Charmhub API
snapd REST API
MAAS API
Juju Client / Controller API
Launchpad Web Services API
Ubuntu Pro Client API
Landscape API
Canonical Assertions API
Canonical Search API
Canonical Snaps API
LXD REST API
Where this information came from

This is an independent, third-party profile of Canonical Identity Platform API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.