30MHz User API

The user API from 30MHz — 18 operation(s) for user.

Operations 19

GET /user Returns the stored information associated to the current user #
POST /user/sign-up Sign up #
POST /user/change-password/{email}/{authorizationCode} Confirms the user's password change #
GET /user/all Returns all the system users. Operation reserved to system admins #
POST /user/register/user/{email} Registers a new guest user that does not belong to any organization. #
POST /user/activate/user/{email} Activates a new user that was added as member of an organization.Authorization… #
GET /user/account-managers Returns all the account managers #
GET /user/organization-member/organization/{organizationId} Returns the organization memberships that belong to an organization #
GET /user/organization/{organizationId} Returns the users that belong to an organization #
GET /user/{email} Returns the requested User #
DELETE /user/{email} Removes the user, along with all her notification settings of checks (follows). #
GET /user/has-api-key Checks if user has an api key #
POST /user/invite/organization/{organizationId}/role/{role} Invites valid users to join Zensie #
POST /user/invite Invites a user to an organization #
POST /user/api-key/request Requests an API key for the authenticated user. #
POST /user/api-key/request-with-password Requests an API key for a user with valid username and password. #
GET /user/change-password/{email} Request to make a password change for the user with given email #
DELETE /user/api-key Revokes the current API key for the authenticated user #
DELETE /user/{email}/api-key Revokes the current API key for the user with the given email address #

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/30mhz-user-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

30mhz-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.0'
  title: ZENSIE User API
servers:
- url: https://api.30mhz.com/api
tags:
- name: User
paths:
  /user:
    get:
      tags:
      - User
      summary: Returns the stored information associated to the current user
      description: Default oauth authentication mechanism required for this operation.
      operationId: getUser
      security:
      - Bearer: []
      responses:
        '200':
          description: The user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthenticated request
        '404':
          description: User not found
        '500':
          description: Error obtaining current user data
  /user/sign-up:
    post:
      tags:
      - User
      summary: Sign up
      description: Signs up the requesting user.
      operationId: signUp
      security:
      - Bearer: []
      responses:
        '200':
          description: Signed up user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Language is not supported.
        '403':
          description: Invalid or expired authorization code.
        '404':
          description: User not found.
        '500':
          description: Internal server error
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignUpRequest'
        description: The sign up request.
        required: true
  /user/change-password/{email}/{authorizationCode}:
    post:
      tags:
      - User
      summary: Confirms the user's password change
      description: 'You can request an {authorizationCode} for your account at: GET ''/user/change-password/{email}'' .

        This operation uses the {authorizationCode} sent via email by the previous operation: the authorization code for change the password emailed to the owner of the account requesting the change."

        The {authorizationCode} will expired on 6 hours.The {authorizationCode} will be validated.'
      operationId: changePassword
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      - name: authorizationCode
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: Password changed.
        '400':
          description: Password cannot be empty
        '401':
          description: This {authorizationCode} is not valid for this user.
        '500':
          description: Error occurred when trying to save/obtain the user in the database
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credential'
        description: Valid User information
        required: true
  /user/all:
    get:
      tags:
      - User
      summary: Returns all the system users. Operation reserved to system admins
      description: Default oauth authentication mechanism required for this operation.
      operationId: getAllUsers
      security:
      - Bearer: []
      responses:
        '200':
          description: The users
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
        '401':
          description: Unauthenticated request
        '500':
          description: Error obtaining the users
  /user/register/user/{email}:
    post:
      tags:
      - User
      summary: Registers a new guest user that does not belong to any organization.
      description: The authorization code should be for the given user and signed by ZENSIE.
      operationId: registerUser
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      - name: authorizationCode
        in: query
        required: false
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: The user has been registered
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCredentialsAsGuest'
  /user/activate/user/{email}:
    post:
      tags:
      - User
      summary: Activates a new user that was added as member of an organization.Authorization…
      description: The authorization code should be for the given user and signed by ZENSIE.
      operationId: activateUser
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      - name: authorizationCode
        in: query
        required: false
        schema:
          type: string
      security:
      - Bearer: []
      deprecated: true
      responses:
        '200':
          description: The user has been activated
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credential'
        description: User being activated
        required: true
  /user/account-managers:
    get:
      tags:
      - User
      summary: Returns all the account managers
      description: Default oauth authentication mechanism required for this operation.
      operationId: getAllAccountManagers
      security:
      - Bearer: []
      responses:
        '200':
          description: The account managers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthenticated request
        '500':
          description: Error obtaining the account managers
  /user/organization-member/organization/{organizationId}:
    get:
      tags:
      - User
      summary: Returns the organization memberships that belong to an organization
      description: Authentication required for this operation, authenticated user needs to be member of the organization.
      operationId: getOrganizationMemberships
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: The memberships associated with the organization.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganizationMembership'
            application/zensie-v2+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganizationMembership'
        '401':
          description: User is not authorized to perform this operation. She should be owner within the organization or an admin.
        '404':
          description: Organization not found
  /user/organization/{organizationId}:
    get:
      tags:
      - User
      summary: Returns the users that belong to an organization
      description: Authentication required for this operation, authenticated user needs to be member of the organization.
      operationId: getOrganizationUsers
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: The users associated with the organization.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
                uniqueItems: true
            application/zensie-v2+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
                uniqueItems: true
        '401':
          description: User is not authorized to perform this operation. She should be owner within the organization or an admin.
        '500':
          description: Internal server error
  /user/{email}:
    get:
      tags:
      - User
      summary: Returns the requested User
      description: 'This operation is only for Administrators.

        Default oauth authentication mechanism required for this operation.'
      operationId: getUserByEmail
      parameters:
      - name: email
        in: path
        description: Valid user's email
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: The user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthenticated request
        '403':
          description: Unauthorized access to an admin only user operation
        '404':
          description: User not found
    delete:
      tags:
      - User
      summary: Removes the user, along with all her notification settings of checks (follows).
      description: Authentication required for this operation, admin level required.
      operationId: removeUser
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: The user and related data have been removed
        '401':
          description: Not authenticated or user is not admin
        '404':
          description: User not found
  /user/has-api-key:
    get:
      tags:
      - User
      summary: Checks if user has an api key
      description: User needs to be authenticated.
      operationId: hasAPIKey
      security:
      - Bearer: []
      responses:
        '200':
          description: Return the API key
        '401':
          description: User not authenticated
  /user/invite/organization/{organizationId}/role/{role}:
    post:
      tags:
      - User
      summary: Invites valid users to join Zensie
      description: 'This operation is Admins and account managers only, and this operation depends on the client captcha configuration.

        the {organizationId} will be validated ,

        The account should be activated; an email with the account confirmation email will be sent, this is required in order to activate the account.

        Default oauth authentication mechanism required for this operation, and a valid captcha client.'
      operationId: invite
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
      - name: role
        in: path
        required: true
        schema:
          type: string
      - name: licenseId
        in: query
        required: false
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '201':
          description: The user has been invited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          description: Unauthenticated request
        '404':
          description: User not found
        '409':
          description: User already exists.
        '500':
          description: Error storing current user data and/or sending the activation email.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserNew'
        description: User information
        required: true
  /user/invite:
    post:
      tags:
      - User
      summary: Invites a user to an organization
      description: ''
      operationId: inviteUser
      security:
      - Bearer: []
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '201':
          description: The user has been invited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Malformed request or referenced organization does not exist
        '401':
          description: Unauthenticated request
        '403':
          description: Caller lacks permission to invite to this organization
        '409':
          description: Email is already an active user
        '500':
          description: Error storing the new user or sending the activation email
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInviteRequest'
        description: Invite details
        required: true
  /user/api-key/request:
    post:
      tags:
      - User
      summary: Requests an API key for the authenticated user.
      description: ''
      operationId: requestAPIKey
      security:
      - Bearer: []
      responses:
        '201':
          description: API key created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserToken'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/UserToken'
  /user/api-key/request-with-password:
    post:
      tags:
      - User
      summary: Requests an API key for a user with valid username and password.
      description: ''
      operationId: requestAPIKeyWithUsernameAndPassword
      security:
      - Bearer: []
      responses:
        '200':
          description: API key created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserToken'
            application/zensie-v2+json:
              schema:
                $ref: '#/components/schemas/UserToken'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credential'
          application/xml:
            schema:
              $ref: '#/components/schemas/Credential'
        description: Username and password of user requesting api key
        required: true
  /user/change-password/{email}:
    get:
      tags:
      - User
      summary: Request to make a password change for the user with given email
      description: This operation sends an email to the user with a link to perform the password change.
      operationId: requestChangePassword
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: Successful password change request, please check your email and follow the instructions.
        '400':
          description: A user with that email doesn't exist.
        '500':
          description: 'Error sending the password change to the email account '
  /user/api-key:
    delete:
      tags:
      - User
      summary: Revokes the current API key for the authenticated user
      description: User needs to be authenticated.
      operationId: revokeAPIKey
      security:
      - Bearer: []
      responses:
        '200':
          description: API key was revoked
        '401':
          description: Unauthenticated request
  /user/{email}/api-key:
    delete:
      tags:
      - User
      summary: Revokes the current API key for the user with the given email address
      description: User needs to be authenticated and an administrator.
      operationId: revokeAPIKeyForUser
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      security:
      - Bearer: []
      responses:
        '200':
          description: API key was revoked
        '401':
          description: Unauthenticated or unauthorized to perform the operation
components:
  schemas:
    UserCredentialsAsGuest:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        language:
          type: string
        lastName:
          type: string
        password:
          type: string
      description: Object holding the required properties to register a guest
    WebPageReference:
      type: object
      properties:
        url:
          type: string
          description: URL of a web page.
        title:
          type: string
          description: Displayable title.
      description: A reference to a web page
    Credential:
      type: object
      properties:
        email:
          type: string
        language:
          type: string
        password:
          type: string
      description: Object holding user's credentials
    UserInviteRequest:
      type: object
      required:
      - email
      - firstName
      - lastName
      - organizationId
      - role
      properties:
        activityNotifications:
          type: object
          description: Activity notifications (type and frequency).
          additionalProperties:
            type: string
            enum:
            - NEVER
            - IMMEDIATELY
        favoritePages:
          type: array
          description: List of web pages marked as favorite by the user.
          items:
            $ref: '#/components/schemas/WebPageReference'
        firstName:
          type: string
          description: First name.
        language:
          type: string
          description: IETF language tag, e.g. en-US
        lastName:
          type: string
          description: Last name.
        metricSettings:
          type: array
          description: 'The user''s preferred unit per metric, e.g. temperature: Fahrenheit'
          uniqueItems: true
          items:
            type: object
            additionalProperties:
              type: string
        phoneNumber:
          type: string
          description: Phone number.
        rateLimitTier:
          type: string
          enum:
          - tier1
          - tier2
          - tier3
          - tier4
        status:
          type: string
          description: Indicates when a user is active or inactive.
        timezone:
          type: string
          description: The timezone of the user, defaults to Europe/Amsterdam
        email:
          type: string
          description: Email address.
        licenseId:
          type: string
          description: Optional license identifier driving the email template and sender
        organizationId:
          type: string
          description: Identifier of the organization the user is being invited to
        role:
          type: string
          description: Role to assign the invited user within the organization
      description: User Invite to an organization
    UserNew:
      type: object
      required:
      - email
      - firstName
      - lastName
      properties:
        activityNotifications:
          type: object
          description: Activity notifications (type and frequency).
          additionalProperties:
            type: string
            enum:
            - NEVER
            - IMMEDIATELY
        favoritePages:
          type: array
          description: List of web pages marked as favorite by the user.
          items:
            $ref: '#/components/schemas/WebPageReference'
        firstName:
          type: string
          description: First name.
        language:
          type: string
          description: IETF language tag, e.g. en-US
        lastName:
          type: string
          description: Last name.
        metricSettings:
          type: array
          description: 'The user''s preferred unit per metric, e.g. temperature: Fahrenheit'
          uniqueItems: true
          items:
            type: object
            additionalProperties:
              type: string
        phoneNumber:
          type: string
          description: Phone number.
        rateLimitTier:
          type: string
          enum:
          - tier1
          - tier2
          - tier3
          - tier4
        status:
          type: string
          description: Indicates when a user is active or inactive.
        timezone:
          type: string
          description: The timezone of the user, defaults to Europe/Amsterdam
        email:
          type: string
          description: Email address.
      description: Object holding the required properties to create a new user
    OrganizationMembership:
      type: object
      required:
      - email
      properties:
        email:
          type: string
          description: User's email.
        firstName:
          type: string
          description: User's first name
        lastName:
          type: string
          description: User's last name
        organizationId:
          type: string
          description: Identifier for the organization.
        purpose:
          type: string
          description: Optional purpose of invitation
        role:
          type: string
          description: Role of the user within the organization. It determines the user's permissions.
      description: A user being a member of an organization with a given role.
    SignUpRequest:
      type: object
      required:
      - invitationToken
      - language
      properties:
        invitationToken:
          type: string
          description: The invitation JWT (issued at invite time).
        language:
          type: string
          description: IETF language tag, e.g. en-US
        password:
          type: string
          description: The user's introduced password.
      description: Payload submitted by an invited user to sign up.
    User:
      type: object
      required:
      - email
      properties:
        activityNotifications:
          type: object
          description: Activity notifications (type and frequency).
          additionalProperties:
            type: string
            enum:
            - NEVER
            - IMMEDIATELY
        favoritePages:
          type: array
          description: List of web pages marked as favorite by the user.
          items:
            $ref: '#/components/schemas/WebPageReference'
        firstName:
          type: string
          description: First name.
        language:
          type: string
          description: IETF language tag, e.g. en-US
        lastName:
          type: string
          description: Last name.
        metricSettings:
          type: array
          description: 'The user''s preferred unit per metric, e.g. temperature: Fahrenheit'
          uniqueItems: true
          items:
            type: object
            additionalProperties:
              type: string
        phoneNumber:
          type: string
          description: Phone number.
        status:
          type: string
          description: Indicates when a user is active or inactive.
        timezone:
          type: string
          description: The timezone of the user, defaults to Europe/Amsterdam
        activatedAt:
          type: string
          description: UTC ISO 8601 timestamp of activation, e.g. e.g 2023-12-12T15:00:00Z.
        email:
          type: string
          description: Email address.
        invitedBy:
          type: string
          description: Email address of user that sent the invite.
        systemRole:
          type: string
          description: 'System-wide role like: ''admin'''
        userId:
          type: string
          description: Universally unique identifier of a user.
      description: A person who uses the platform
    UserToken:
      type: object
      properties:
        apiToken:
          type: string
  securitySchemes:
    Bearer:
      description: ''
      type: apiKey
      name: Authorization
      in: header