Deutsche Telekom Users API

The Users API from Deutsche Telekom — 24 operation(s) for users.

Operations 29

GET /{realm}/users Get users Returns a list of users, filtered according to query parameters
POST /{realm}/users Create a new user Username must be unique.
GET /{realm}/users/count Returns the number of users that match the given criteria.
GET /{realm}/users/{id} Get representation of the user
PUT /{realm}/users/{id} Update the user
DELETE /{realm}/users/{id} Delete the user
GET /{realm}/users/{id}/configured-user-storage-credential-types Return credential types, which are provided by the user storage where user is stored.
GET /{realm}/users/{id}/consents Get consents granted by the user
DELETE /{realm}/users/{id}/consents/{client} Revoke consent and offline tokens for particular client from user
GET /{realm}/users/{id}/credentials
DELETE /{realm}/users/{id}/credentials/{credentialId} Remove a credential for a user
POST /{realm}/users/{id}/credentials/{credentialId}/moveAfter/{newPreviousCredentialId} Move a credential to a position behind another credential
POST /{realm}/users/{id}/credentials/{credentialId}/moveToFirst Move a credential to a first position in the credentials list of the user
PUT /{realm}/users/{id}/credentials/{credentialId}/userLabel Update a credential label for a user
PUT /{realm}/users/{id}/disable-credential-types Disable all credentials for a user of a specific type
PUT /{realm}/users/{id}/execute-actions-email Send a update account email to the user An email contains a link the user can click to perform a set of required actions.
GET /{realm}/users/{id}/federated-identity Get social logins associated with the user
POST /{realm}/users/{id}/federated-identity/{provider} Add a social login provider to the user
DELETE /{realm}/users/{id}/federated-identity/{provider} Remove a social login provider from user
GET /{realm}/users/{id}/groups
GET /{realm}/users/{id}/groups/count
PUT /{realm}/users/{id}/groups/{groupId}
DELETE /{realm}/users/{id}/groups/{groupId}
POST /{realm}/users/{id}/impersonation Impersonate the user
POST /{realm}/users/{id}/logout Remove all user sessions associated with the user Also send notification to all clients that have an admin URL to invalidate the sessions for the particular user.
GET /{realm}/users/{id}/offline-sessions/{clientId} Get offline sessions associated with the user and client
PUT /{realm}/users/{id}/reset-password Set up a new password for the user.
PUT /{realm}/users/{id}/send-verify-email Send an email-verification email to the user An email contains a link the user can click to verify their email address.
GET /{realm}/users/{id}/sessions Get sessions associated with the user

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/deutsche-telekom-users-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

deutsche-telekom-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Keycloak Admin REST Users API
  description: This is a REST API reference for the Keycloak Admin
  version: '1'
security:
- access_token: []
tags:
- name: Users
paths:
  /{realm}/users:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Get users   Returns a list of users, filtered according to query parameters
      parameters:
      - in: query
        name: briefRepresentation
        schema:
          type: boolean
        style: form
      - in: query
        name: email
        schema:
          type: string
        style: form
      - in: query
        name: first
        schema:
          type: integer
          format: int32
        style: form
      - in: query
        name: firstName
        schema:
          type: string
        style: form
      - in: query
        name: lastName
        schema:
          type: string
        style: form
      - in: query
        name: max
        description: Maximum results size (defaults to 100)
        schema:
          type: integer
          format: int32
        style: form
      - in: query
        name: search
        description: A String contained in username, first or last name, or email
        schema:
          type: string
        style: form
      - in: query
        name: username
        schema:
          type: string
        style: form
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserRepresentation'
    post:
      tags:
      - Users
      summary: Create a new user   Username must be unique.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRepresentation'
        required: true
      responses:
        2XX:
          description: success
  /{realm}/users/count:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Returns the number of users that match the given criteria.
      parameters:
      - in: query
        name: email
        description: email filter
        schema:
          type: string
        style: form
      - in: query
        name: firstName
        description: first name filter
        schema:
          type: string
        style: form
      - in: query
        name: lastName
        description: last name filter
        schema:
          type: string
        style: form
      - in: query
        name: search
        description: arbitrary search string for all the fields below
        schema:
          type: string
        style: form
      - in: query
        name: username
        description: username filter
        schema:
          type: string
        style: form
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: integer
                format: int32
  /{realm}/users/{id}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Get representation of the user
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRepresentation'
    put:
      tags:
      - Users
      summary: Update the user
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRepresentation'
        required: true
      responses:
        2XX:
          description: success
    delete:
      tags:
      - Users
      summary: Delete the user
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/configured-user-storage-credential-types:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Return credential types, which are provided by the user storage where user is stored.
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
  /{realm}/users/{id}/consents:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Get consents granted by the user
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
  /{realm}/users/{id}/consents/{client}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: client
      description: Client id
      required: true
      schema:
        type: string
      style: simple
    delete:
      tags:
      - Users
      summary: Revoke consent and offline tokens for particular client from user
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/credentials:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CredentialRepresentation'
  /{realm}/users/{id}/credentials/{credentialId}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: credentialId
      required: true
      schema:
        type: string
      style: simple
    delete:
      tags:
      - Users
      summary: Remove a credential for a user
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/credentials/{credentialId}/moveAfter/{newPreviousCredentialId}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: credentialId
      description: The credential to move
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: newPreviousCredentialId
      description: The credential that will be the previous element in the list. If set to null, the moved credential will be the first element in the list.
      required: true
      schema:
        type: string
      style: simple
    post:
      tags:
      - Users
      summary: Move a credential to a position behind another credential
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/credentials/{credentialId}/moveToFirst:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: credentialId
      description: The credential to move
      required: true
      schema:
        type: string
      style: simple
    post:
      tags:
      - Users
      summary: Move a credential to a first position in the credentials list of the user
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/credentials/{credentialId}/userLabel:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: credentialId
      required: true
      schema:
        type: string
      style: simple
    put:
      tags:
      - Users
      summary: Update a credential label for a user
      requestBody:
        content:
          text/plain:
            schema:
              type: string
        required: true
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/disable-credential-types:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    put:
      tags:
      - Users
      summary: Disable all credentials for a user of a specific type
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/execute-actions-email:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    put:
      tags:
      - Users
      summary: Send a update account email to the user   An email contains a link the user can click to perform a set of required actions.
      parameters:
      - in: query
        name: client_id
        description: Client id
        schema:
          type: string
        style: form
      - in: query
        name: lifespan
        description: Number of seconds after which the generated token expires
        schema:
          type: integer
          format: int32
        style: form
      - in: query
        name: redirect_uri
        description: Redirect uri
        schema:
          type: string
        style: form
      requestBody:
        description: required actions the user needs to complete
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/federated-identity:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Get social logins associated with the user
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FederatedIdentityRepresentation'
  /{realm}/users/{id}/federated-identity/{provider}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: provider
      description: Social login provider id
      required: true
      schema:
        type: string
      style: simple
    post:
      tags:
      - Users
      summary: Add a social login provider to the user
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FederatedIdentityRepresentation'
        required: true
      responses:
        2XX:
          description: success
    delete:
      tags:
      - Users
      summary: Remove a social login provider from user
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/groups:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      parameters:
      - in: query
        name: briefRepresentation
        schema:
          type: boolean
        style: form
      - in: query
        name: first
        schema:
          type: integer
          format: int32
        style: form
      - in: query
        name: max
        schema:
          type: integer
          format: int32
        style: form
      - in: query
        name: search
        schema:
          type: string
        style: form
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupRepresentation'
  /{realm}/users/{id}/groups/count:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      parameters:
      - in: query
        name: search
        schema:
          type: string
        style: form
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /{realm}/users/{id}/groups/{groupId}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: groupId
      required: true
      schema:
        type: string
      style: simple
    put:
      tags:
      - Users
      responses:
        2XX:
          description: success
    delete:
      tags:
      - Users
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/impersonation:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    post:
      tags:
      - Users
      summary: Impersonate the user
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /{realm}/users/{id}/logout:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    post:
      tags:
      - Users
      summary: Remove all user sessions associated with the user   Also send notification to all clients that have an admin URL to invalidate the sessions for the particular user.
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/offline-sessions/{clientId}:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: clientId
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Get offline sessions associated with the user and client
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserSessionRepresentation'
  /{realm}/users/{id}/reset-password:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    put:
      tags:
      - Users
      summary: Set up a new password for the user.
      requestBody:
        description: The representation must contain a rawPassword with the plain-text password
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialRepresentation'
        required: true
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/send-verify-email:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    put:
      tags:
      - Users
      summary: Send an email-verification email to the user   An email contains a link the user can click to verify their email address.
      parameters:
      - in: query
        name: client_id
        description: Client id
        schema:
          type: string
        style: form
      - in: query
        name: redirect_uri
        description: Redirect uri
        schema:
          type: string
        style: form
      responses:
        2XX:
          description: success
  /{realm}/users/{id}/sessions:
    parameters:
    - in: path
      name: realm
      description: realm name (not id!)
      required: true
      schema:
        type: string
      style: simple
    - in: path
      name: id
      description: User id
      required: true
      schema:
        type: string
      style: simple
    get:
      tags:
      - Users
      summary: Get sessions associated with the user
      responses:
        2XX:
          description: success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserSessionRepresentation'
components:
  schemas:
    UserConsentRepresentation:
      type: object
      properties:
        clientId:
          type: string
        createdDate:
          type: integer
          format: int64
        grantedClientScopes:
          type: array
          items:
            type: string
        lastUpdatedDate:
          type: integer
          format: int64
    CredentialRepresentation:
      type: object
      properties:
        createdDate:
          type: integer
          format: int64
        credentialData:
          type: string
        id:
          type: string
        priority:
          type: integer
          format: int32
        secretData:
          type: string
        temporary:
          type: boolean
        type:
          type: string
        userLabel:
          type: string
        value:
          type: string
    UserSessionRepresentation:
      type: object
      properties:
        clients:
          type: object
          additionalProperties: true
        id:
          type: string
        ipAddress:
          type: string
        lastAccess:
          type: integer
          format: int64
        start:
          type: integer
          format: int64
        userId:
          type: string
        username:
          type: string
    FederatedIdentityRepresentation:
      type: object
      properties:
        identityProvider:
          type: string
        userId:
          type: string
        userName:
          type: string
    UserRepresentation:
      type: object
      properties:
        access:
          type: object
          additionalProperties: true
        attributes:
          type: object
          additionalProperties: true
        clientConsents:
          type: array
          items:
            $ref: '#/components/schemas/UserConsentRepresentation'
        clientRoles:
          type: object
          additionalProperties: true
        createdTimestamp:
          type: integer
          format: int64
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/CredentialRepresentation'
        disableableCredentialTypes:
          type: array
          items:
            type: string
        email:
          type: string
        emailVerified:
          type: boolean
        enabled:
          type: boolean
        federatedIdentities:
          type: array
          items:
            $ref: '#/components/schemas/FederatedIdentityRepresentation'
        federationLink:
          type: string
        firstName:
          type: string
        groups:
          type: array
          items:
            type: string
        id:
          type: string
        lastName:
          type: string
        notBefore:
          type: integer
          format: int32
        origin:
          type: string
        realmRoles:
          type: array
          items:
            type: string
        requiredActions:
          type: array
          items:
            type: string
        self:
          type: string
        serviceAccountClientId:
          type: string
        username:
          type: string
    GroupRepresentation:
      type: object
      properties:
        access:
          type: object
          additionalProperties: true
        attributes:
          type: object
          additionalProperties: true
        clientRoles:
          type: object
          additionalProperties: true
        id:
          type: string
        name:
          type: string
        path:
          type: string
        realmRoles:
          type: array
          items:
            type: string
        subGroups:
          type: array
          items:
            $ref: '#/components/schemas/GroupRepresentation'
  securitySchemes:
    access_token:
      type: http
      scheme: bearer
      bearerFormat: null
externalDocs:
  description: Schema source code
  url: https://github.com/keycloak/keycloak/tree/6.0.1/core/src/main/java/org/keycloak/representations