Canonical Schemas Service API

The SchemasService API from Canonical — 3 operation(s) for schemasservice.

Operations 7

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/schemas List identity schemas · Schemas service list schemas #
Ask an LLM
“Which identity schemas are defined in the Identity Platform?”
“Can I page through identity schemas a few at a time?”
Tell an agent
List all identity schemas.
List {size} identity schemas starting from page {page_token}.
POST /api/v0/schemas Create an identity schema · Schemas service create schema #
Ask an LLM
“How do I add a new identity schema that defines user traits?”
“Can I choose the ID of a new identity schema myself?”
Tell an agent
Create identity schema {id} with definition {schema}.
Add a new identity schema using this JSON schema: {schema}.
DELETE /api/v0/schemas/{id} Delete an identity schema · Schemas service remove schema #
Ask an LLM
“How do I delete an identity schema that's no longer used?”
“Can an identity schema be removed permanently?”
Tell an agent destructive · confirm first
Delete identity schema {id}.
Remove schema {id} from the Identity Platform.
GET /api/v0/schemas/{id} Get an identity schema · Schemas service get schema #
Ask an LLM
“What traits does a particular identity schema define?”
“Can I view the JSON of one identity schema by its ID?”
Tell an agent
Show identity schema {id}.
Get the JSON definition of schema {id}.
PATCH /api/v0/schemas/{id} Update an identity schema · Schemas service update schema #
Ask an LLM
“How do I change the definition of an existing identity schema?”
“Can I edit a schema's traits after identities already use it?”
Tell an agent
Update identity schema {id} to {schema}.
Patch schema {id} with a revised definition {schema}.
GET /api/v0/schemas/default Get the default identity schema · Schemas service get default schema #
Ask an LLM
“Which identity schema is used by default for new identities?”
“What is the current default schema in the Identity Platform?”
Tell an agent
Show the default identity schema.
Tell me which schema new identities get by default.
PUT /api/v0/schemas/default Change the default identity schema · Schemas service update default schema #
Ask an LLM
“How do I switch which identity schema is the default?”
“Can I make a schema I just created the default for new identities?”
Tell an agent
Make schema {id} the default.
Set the default identity schema to {id}.

Documentation

Specifications

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-schemasservice-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-schemasservice-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 Schemas Service API
  version: '0.1'
tags:
- name: SchemasService
paths:
  /api/v0/schemas:
    get:
      operationId: SchemasService_ListSchemas
      parameters:
      - in: query
        name: size
        schema:
          type: string
      - in: query
        name: page_token
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasListSchemasResp'
          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:
      - SchemasService
      summary: Schemas service list schemas
      x-summary-source: derived
    post:
      operationId: SchemasService_CreateSchema
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apischemasSchema'
        required: true
        x-originalParamName: schema
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasCreateSchemaResp'
          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:
      - SchemasService
      summary: Schemas service create schema
      x-summary-source: derived
  /api/v0/schemas/{id}:
    delete:
      operationId: SchemasService_RemoveSchema
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasRemoveSchemaResp'
          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:
      - SchemasService
      summary: Schemas service remove schema
      x-summary-source: derived
    get:
      operationId: SchemasService_GetSchema
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasGetSchemaResp'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Not found
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - SchemasService
      summary: Schemas service get schema
      x-summary-source: derived
    patch:
      operationId: SchemasService_UpdateSchema
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/apischemasSchema'
        required: true
        x-originalParamName: schema
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasUpdateSchemaResp'
          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
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Not found
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - SchemasService
      summary: Schemas service update schema
      x-summary-source: derived
  /api/v0/schemas/default:
    get:
      operationId: SchemasService_GetDefaultSchema
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasGetDefaultSchemaResp'
          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:
      - SchemasService
      summary: Schemas service get default schema
      x-summary-source: derived
    put:
      operationId: SchemasService_UpdateDefaultSchema
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/schemasDefaultSchema'
        required: true
        x-originalParamName: schema
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemasUpdateDefaultSchemaResp'
          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
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Not found
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/typesErrorResponse'
          description: Internal server error
      tags:
      - SchemasService
      summary: Schemas service update default schema
      x-summary-source: derived
components:
  schemas:
    schemasDefaultSchema:
      properties:
        id:
          type: string
      type: object
    typesPagination:
      properties:
        next:
          type: string
        pageToken:
          type: string
        prev:
          type: string
        size:
          format: int32
          type: integer
      type: object
    schemasUpdateSchemaResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apischemasSchema'
          type: array
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    apischemasSchema:
      properties:
        additional_properties:
          type: object
        id:
          type: string
        schema:
          type: object
      type: object
    typesErrorResponse:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    schemasRemoveSchemaResp:
      properties:
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    schemasListSchemasResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apischemasSchema'
          type: array
        message:
          type: string
        meta:
          $ref: '#/components/schemas/typesPagination'
        status:
          format: int32
          type: integer
      type: object
    schemasCreateSchemaResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apischemasSchema'
          type: array
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    schemasGetSchemaResp:
      properties:
        data:
          items:
            $ref: '#/components/schemas/apischemasSchema'
          type: array
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    schemasGetDefaultSchemaResp:
      properties:
        data:
          $ref: '#/components/schemas/schemasDefaultSchema'
        message:
          type: string
        status:
          format: int32
          type: integer
      type: object
    schemasUpdateDefaultSchemaResp:
      properties:
        data:
          $ref: '#/components/schemas/schemasDefaultSchema'
        message:
          type: string
        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