Probabl Identity API

The identity API from Probabl — 22 operation(s) for identity.

Operations 28

GET /identity/admin/invitations/{email} List Invitations By Email #
GET /identity/oauth/login Oauth Login #
GET /identity/oauth/accept-invitation Accept Invitation #
GET /identity/oauth/device/login Oauth Device #
GET /identity/oauth/callback Oauth Callback #
GET /identity/oauth/device/callback Oauth Device Callback #
POST /identity/oauth/device/callback Oauth Device Callback Validation #
GET /identity/oauth/device/code-probe Oauth Token Code Is Accessible #
GET /identity/oauth/device/token Oauth Device Token #
POST /identity/oauth/token/refresh Refresh Token #
POST /identity/oauth/logout Logout #
POST /identity/workspaces Create Workspace #
GET /identity/workspaces List Workspaces #
DELETE /identity/workspaces/{workspace_id} Delete Workspace #
GET /identity/workspaces/{workspace_id} Get Workspace #
PUT /identity/workspaces/{workspace_id} Update Workspace #
GET /identity/workspaces/public-id-availability Check Workspace Public Id Available #
POST /identity/workspaces/{workspace_id}/invitations Create Workspace Invitation #
POST /identity/workspaces/{workspace_id}/invitation-link Create Workspace Invitation Link #
DELETE /identity/workspaces/{workspace_id}/members/{user_id} Remove Member From Workspace #
PUT /identity/workspaces/{workspace_id}/members/{user_id}/role Set Member Role #
GET /identity/users/me Me #
GET /identity/users/{user_id} Get User #
POST /identity/users/{user_id}/api-keys Create Api Key #
GET /identity/users/{user_id}/api-keys List Api Keys #
DELETE /identity/users/{user_id}/api-keys/{api_key_id} Delete Api Key #
PATCH /identity/users/{user_id}/api-keys/{api_key_id} Patch Api Key #
GET /identity/invitations/{key} Get Invitation #

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/probabl-identity-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

probabl-identity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Skore Hub Identity API
  description: "\nThis REST API is divided in small services.\nEach service has its own OpenAPI specification.\n- [identity](/identity/docs)\n- [projects](/projects/docs)\n    "
  version: 0.1.0
tags:
- name: identity
paths:
  /identity/admin/invitations/{email}:
    get:
      tags:
      - identity
      summary: List Invitations By Email
      description: List all invitations for a given email.
      operationId: list_invitations_by_email_identity_admin_invitations__email__get
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
          title: Email
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Invitation'
                title: Response List Invitations By Email Identity Admin Invitations  Email  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/login:
    get:
      tags:
      - identity
      summary: Oauth Login
      description: 'Initiate OAuth login flow.


        Starts the authorization code flow by redirecting the user to the authorization

        server''s login page.


        **Parameters**

        - `success_uri`: The URI to redirect the user in case of successful login flow.


        **Responses**:

        - `200`: Returns a response containing the IDP authorization url'
      operationId: oauth_login_identity_oauth_login_get
      parameters:
      - name: success_uri
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Success Uri
      - name: display_registration
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Display Registration
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/accept-invitation:
    get:
      tags:
      - identity
      summary: Accept Invitation
      description: 'Initiate OAuth login flow.


        Starts the authorization code flow by redirecting the user to the authorization

        server''s login page.


        **Parameters**

        - `success_uri`: The URI to redirect the user in case of successful login flow.


        **Responses**:

        - `200`: Returns a response containing the IDP authorization url'
      operationId: accept_invitation_identity_oauth_accept_invitation_get
      parameters:
      - name: success_uri
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Success Uri
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/device/login:
    get:
      tags:
      - identity
      summary: Oauth Device
      description: 'Initiate device OAuth flow.


        Initiates the OAuth device flow.

        Provides the user with a URL and a OTP code to authenticate the device.


        **Parameters**:

        - `success_uri`: The URI to redirect the user in case of successful login flow.


        **Responses**:

        - `200`: Returns a response containing the IDP authorization url and a device code.'
      operationId: oauth_device_identity_oauth_device_login_get
      parameters:
      - name: success_uri
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Success Uri
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiateDeviceAuthResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/callback:
    get:
      tags:
      - identity
      summary: Oauth Callback
      description: 'Handle the OAuth callback with the authorization code.


        This endpoint processes the callback from the authorization server,

        exchanges the authorization code for an access token, and returns the token.


        **Parameters**:

        - `code`: The authorization code returned by the authorization server.

        - `state`: A unique value to prevent CSRF attacks.


        **Responses**:

        - `200`: Returns the access token on successful exchange.

        - `400`: Returns an error if the state or code is invalid.

        - `422`: Returns an error if the state or code format is invalid.'
      operationId: oauth_callback_identity_oauth_callback_get
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          title: Code
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Oauth Callback Identity Oauth Callback Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/device/callback:
    get:
      tags:
      - identity
      summary: Oauth Device Callback
      description: 'Handle the device authorization callback.


        This endpoint processes the callback from the authorization server.

        It stores the device authorization code for later use.


        **Parameters**:

        - `code`: The authorization code provided by the user.

        - `state`: A unique value to identify the device flow.


        **Responses**:

        - `200`: Renders a template prompting the user to enter a code.

        - `422`: Returns an error if the state or code format is invalid.'
      operationId: oauth_device_callback_identity_oauth_device_callback_get
      parameters:
      - name: code
        in: query
        required: true
        schema:
          type: string
          title: Code
      - name: state
        in: query
        required: true
        schema:
          type: string
          title: State
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Oauth Device Callback Identity Oauth Device Callback Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - identity
      summary: Oauth Device Callback Validation
      description: 'Validate the user-provided device code.


        This endpoint verifies the code entered by the user during the device auth flow.


        **Parameters**:

        - `state`: The unique value identifying the device flow.

        - `user_code`: The code entered by the user.


        **Responses**:

        - `201`: The device is successfully authenticated.

        - `422`: Returns an error if the state or user_code format is invalid.'
      operationId: oauth_device_callback_validation_identity_oauth_device_callback_post
      parameters:
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_oauth_device_callback_validation_identity_oauth_device_callback_post'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Oauth Device Callback Validation Identity Oauth Device Callback Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/device/code-probe:
    get:
      tags:
      - identity
      summary: Oauth Token Code Is Accessible
      description: 'Get the device access code status.


        Allow a device to know if the awaited `access_code` has been received by the hub

        and is ready for an exchange with the `access_token`.


        **Responses**:

        - `204`: The authorization code has been received and is ready for exchange.

        - `400`: The authorization code has not been received yet.

        - `404`: The authentication flow for this `device_code` has not been found.'
      operationId: oauth_token_code_is_accessible_identity_oauth_device_code_probe_get
      parameters:
      - name: device_code
        in: query
        required: true
        schema:
          type: string
          title: Device Code
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/device/token:
    get:
      tags:
      - identity
      summary: Oauth Device Token
      description: 'Exchanges the device code for an access token.


        This endpoint completes the device authorization flow by exchanging the

        validated device code for an access token.


        **Parameters**:

        - `device_code`: The code provided at authentication flow initiation.


        **Responses**:

        - `200`: Returns the access token on successful exchange.

        - `422`: Returns an error if the device_code format is invalid.'
      operationId: oauth_device_token_identity_oauth_device_token_get
      parameters:
      - name: device_code
        in: query
        required: true
        schema:
          type: string
          title: Device Code
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExchangeCodeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/token/refresh:
    post:
      tags:
      - identity
      summary: Refresh Token
      description: 'Refresh an access token using a provided refresh token.


        This endpoint allows a client to obtain a new access token by providing a valid

        refresh token.

        If a `success_uri` is specified in the request, the user will be redirected to that

        URI with the new access and refresh tokens as query parameters.


        **Parameters**:

        - `request`: The request body containing the refresh token and optional success URI.


        **Responses**:

        - `200`: Returns a new access token if successful.

        - `307`: Redirects to the specified success URI with new token parameters.

        - `400`: Returns an error if the refresh process fails.'
      operationId: refresh_token_identity_oauth_token_refresh_post
      parameters:
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefreshTokenRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Refresh Token Identity Oauth Token Refresh Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/oauth/logout:
    post:
      tags:
      - identity
      summary: Logout
      description: 'Log out the user (standard OIDC).


        Revokes the access and refresh tokens on the OAuth2 provider (when a

        revocation endpoint is advertised) and clears authentication cookies.


        **Responses**:

        - `204`: The user has been logged out.'
      operationId: logout_identity_oauth_logout_post
      parameters:
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces:
    post:
      tags:
      - identity
      summary: Create Workspace
      description: 'Create and persist a new workspace.


        **Parameters**

        - `form`: The workspace creation form filled with the `public_id` to use.


        **Responses**:

        - `201`: Returns the unique identifier of the newly created workspace.'
      operationId: create_workspace_identity_workspaces_post
      parameters:
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWorkspaceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - identity
      summary: List Workspaces
      description: 'Return a filtered list of workspaces.


        **Parameters**

        - `filters`: List of filters to limit the workspace listing query.


        **Responses**

        - `200`: A filtered list of workspaces.'
      operationId: list_workspaces_identity_workspaces_get
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Limit
      - name: cursor
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Cursor
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrder'
          default: ASC
      - name: sort_by
        in: query
        required: false
        schema:
          enum:
          - id
          - created_at
          type: string
          default: id
          title: Sort By
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWorkspaceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces/{workspace_id}:
    delete:
      tags:
      - identity
      summary: Delete Workspace
      description: 'Delete an existing workspace.


        Do nothing if the workspace do not exists.


        **Parameters**

        - `workspace_id`: Unique identifier of the workspace to delete.


        **Responses**:

        - `204`: No content.'
      operationId: delete_workspace_identity_workspaces__workspace_id__delete
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - identity
      summary: Get Workspace
      description: 'Retrieve a workspace from its unique identifier (ID).


        **Parameters**

        - `workspace_id`: The workspace''s unique identifier.


        **Responses**

        - `200`: The requested workspace.'
      operationId: get_workspace_identity_workspaces__workspace_id__get
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workspace'
        '404':
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - identity
      summary: Update Workspace
      description: 'Update a workspace.


        **Parameters**

        - `workspace_id`: The workspace to update.


        **Responses**

        - `204`: No content. The workspace has been updated.'
      operationId: update_workspace_identity_workspaces__workspace_id__put
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWorkspaceRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces/public-id-availability:
    get:
      tags:
      - identity
      summary: Check Workspace Public Id Available
      description: 'Check if a workspace public id is available and get a suggestion.


        **Parameters**

        - `public_id`: The workspace public id to check.


        **Responses**

        - `200`: Returns whether the slug is available and a suggested unique slug.'
      operationId: check_workspace_public_id_available_identity_workspaces_public_id_availability_get
      parameters:
      - name: public_id
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          title: Public Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  anyOf:
                  - type: boolean
                  - type: string
                  - type: 'null'
                title: Response Check Workspace Public Id Available Identity Workspaces Public Id Availability Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces/{workspace_id}/invitations:
    post:
      tags:
      - identity
      summary: Create Workspace Invitation
      description: 'Create a workspace invitation and send an invitation email.


        Only workspace owners can invite. The invited user receives an email with a

        link to accept; on acceptance they join the workspace with the given role

        and the permissions defined for that role in code.


        **Parameters**

        - `workspace_id`: The workspace to invite into.

        - `email`: Invitee email.

        - `role`: owner, contributor, or reader.


        **Responses**

        - `201`: The created invitation (without the secret key).

        - `403`: Caller is not a workspace owner.

        - `404`: Workspace does not exist.'
      operationId: create_workspace_invitation_identity_workspaces__workspace_id__invitations_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_create_workspace_invitation_identity_workspaces__workspace_id__invitations_post'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invitation'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces/{workspace_id}/invitation-link:
    post:
      tags:
      - identity
      summary: Create Workspace Invitation Link
      description: 'Create a shareable invitation URL for this workspace.


        The returned URL uses the same acceptance flow as email invitations.


        **Parameters**

        - ``workspace_id``: Target workspace.

        - ``body.role``: Role granted when the invite is accepted.


        **Responses**

        - ``201``: Invitation URL.

        - ``403``: Caller is not a workspace owner.'
      operationId: create_workspace_invitation_link_identity_workspaces__workspace_id__invitation_link_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceInvitationLinkRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceInvitationLinkResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces/{workspace_id}/members/{user_id}:
    delete:
      tags:
      - identity
      summary: Remove Member From Workspace
      description: 'Remove a member from a workspace.


        **Parameters**

        - `workspace_id`: The workspace to remove the member from.

        - `user_id`: The user to remove from the workspace.


        **Responses**

        - `204`: No content.'
      operationId: remove_member_from_workspace_identity_workspaces__workspace_id__members__user_id__delete
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/workspaces/{workspace_id}/members/{user_id}/role:
    put:
      tags:
      - identity
      summary: Set Member Role
      description: 'Set a workspace member''s role and replace their permissions from the static map.


        **Parameters**

        - `workspace_id`: The workspace.

        - `user_id`: The member whose role is updated.

        - `form.role`: owner, contributor, or reader.


        **Responses**

        - `204`: Role and permissions updated.

        - `403`: Caller lacks permission, or the target is the last workspace owner.

        - `404`: Target user is not a member of the workspace.'
      operationId: set_member_role_identity_workspaces__workspace_id__members__user_id__role_put
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: integer
          title: Workspace Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetMemberRoleRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/users/me:
    get:
      tags:
      - identity
      summary: Me
      description: Get the current user profile.
      operationId: me_identity_users_me_get
      parameters:
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfileDto'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/users/{user_id}:
    get:
      tags:
      - identity
      summary: Get User
      description: Get a user profile by ID.
      operationId: get_user_identity_users__user_id__get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfileDto'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /identity/users/{user_id}/api-keys:
    post:
      tags:
      - identity
      summary: Create Api Key
      description: Create a new API key for the current user.
      operationId: create_api_key_identity_users__user_id__api_keys_post
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      - name: config_file
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Config File
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAPIKeyPayload'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAPIKeyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - identity
      summary: List Api Keys
      description: List all API keys of the authenticated user.
      operationId: list_api_keys_identity_users__user_id__api_keys_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: stri

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/probabl/refs/heads/main/openapi/probabl-identity-api-openapi.yml