Mend User Profile API

The User Profile API from Mend — 2 operation(s) for user profile.

Operations 12

PUT /api/v2.0/profile/password Change Password #
PUT /api/v2.0/profile Change Name #
GET /api/v3.0/profile/preferences Get User Preferences #
POST /api/v3.0/profile/preferences Upsert user preferences #
GET /api/v3.0/profile/email-pref get email preferences #
POST /api/v3.0/profile/email-pref Upsert email preferences #
GET /api/v2.0/profile/userKeys Get All User Keys #
POST /api/v2.0/profile/userKeys Generate User Key #
POST /api/v2.0/profile/encryptCredentials Encrypt credentials to a client key #
POST /api/v2.0/profile/cliCredentials Issue CLI web-login credentials #
GET /api/v3.0/profile/email-pref/bulk get email preferences for number of users #
DELETE /api/v2.0/profile/userKeys/{userKey} Delete User Key #

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/mend:mend-user-profile-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

mend-user-profile-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mend User Profile API
  description: 'Mend''s enhanced SCA API enables automation of workflows in a REST compliant format. The API features:

    + Access for any user with Mend credentials, via a user key available in the user''s profile page in the Mend App.

    + Improved security with a JWT token per organization, which expires every 10 minutes.

    + Added scalability with support for pagination, filtering and sorting search results.

    + Broader functionality available programmatically.

    + New standard API documentation for easy navigation and search.


    **Note:** To help you get started with the Mend SCA API 2.0, we recommend reviewing our onboarding guide -> Getting Started with Mend SCA API 2.0.

    This resource covers initial setup, authentication instructions, and helpful tips to help you successfully begin working with the Mend SCA API 2.0. If you have a dedicated instance of Mend, contact your Mend representative to access this API on your instance.'
  version: 3.0.1
servers:
- url: https://api-saas.mend.io
  description: Generated server url
security:
- bearer-key: []
tags:
- name: User Profile
paths:
  /api/v2.0/profile/password:
    put:
      tags:
      - User Profile
      summary: Change Password
      description: Changes the current user's password
      operationId: changePassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserChangePasswordDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseMessageDTO'
  /api/v2.0/profile:
    put:
      tags:
      - User Profile
      summary: Change Name
      description: Changes the current user's name
      operationId: changeName
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserChangeNameDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseMessageDTO'
  /api/v3.0/profile/preferences:
    get:
      tags:
      - User Profile
      summary: Get User Preferences
      description: Returns the current user's preferences
      operationId: getUserPreferences
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponsePageableV3CollectionPreferencesDTO'
    post:
      tags:
      - User Profile
      summary: Upsert user preferences
      description: Update/Insert user preferences
      operationId: upsertUserPreferences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferencesRequestDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseV3PreferencesDTO'
  /api/v3.0/profile/email-pref:
    get:
      tags:
      - User Profile
      summary: get email preferences
      description: get user email preferences
      operationId: getUserEmailPreferences
      parameters:
      - name: keyId
        in: query
        required: true
        schema:
          type: string
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseV3ListEmailPreferencesDTO'
    post:
      tags:
      - User Profile
      summary: Upsert email preferences
      description: Update/Insert user email preferences
      operationId: upsertUserEmailPreferences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmailPreferencesRequestDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseV3EmailPreferencesDTO'
  /api/v2.0/profile/userKeys:
    get:
      tags:
      - User Profile
      summary: Get All User Keys
      description: Returns a list of existing user-keys for the current user. These keys are included in all API requests to identify the user
      operationId: getUserKeys
      parameters:
      - name: pageSize
        in: query
        description: Enter the number of items to return in each page of the result.
        allowEmptyValue: true
        schema:
          maximum: 10000
          type: string
          default: '50'
      - name: page
        in: query
        description: Enter the page number to display in the result. Page numbers start at 0
        allowEmptyValue: true
        schema:
          type: string
          default: '0'
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponsePageableCollectionUserKeyDTO'
    post:
      tags:
      - User Profile
      summary: Generate User Key
      description: Generates a user-key for the current user. User-keys are included in all api requests to identify the user
      operationId: generateUserKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateUserKeyRequestDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseUserKeyDTO'
  /api/v2.0/profile/encryptCredentials:
    post:
      tags:
      - User Profile
      summary: Encrypt credentials to a client key
      description: Encrypts the supplied payload to the caller-supplied client public key (MCP web-login). Called by the BFF.
      operationId: encryptCredentials
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EncryptCredentialsRequestDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseEncryptedCredentialsDTO'
  /api/v2.0/profile/cliCredentials:
    post:
      tags:
      - User Profile
      summary: Issue CLI web-login credentials
      description: Gets-or-creates the current user's CLI user key and returns it encrypted to the caller-supplied client public key. Called by the BFF during CLI web-login; the plaintext key never leaves the platform.
      operationId: cliCredentials
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CliCredentialsRequestDTO'
        required: true
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseEncryptedCredentialsDTO'
  /api/v3.0/profile/email-pref/bulk:
    get:
      tags:
      - User Profile
      summary: get email preferences for number of users
      operationId: getEmailPreferencesForUsers
      parameters:
      - name: userEmails
        in: query
        required: true
        schema:
          type: string
      - name: keyId
        in: query
        required: true
        schema:
          type: string
      - name: orgUuid
        in: query
        required: true
        schema:
          type: string
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseV3ListEmailPreferencesDTO'
  /api/v2.0/profile/userKeys/{userKey}:
    delete:
      tags:
      - User Profile
      summary: Delete User Key
      description: Deletes a user-key
      operationId: deleteUserKey
      parameters:
      - name: userKey
        in: path
        required: true
        schema:
          type: string
      responses:
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/DWRResponseBase'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DWRResponseMessageDTO'
components:
  schemas:
    UserChangeNameDTO:
      type: object
      properties:
        name:
          title: New Name
          type: string
          example: John Doe
    PreferencesDTO:
      type: object
      properties:
        uuid:
          type: string
        keyId:
          type: string
        category:
          type: string
        configurations:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    DWRResponseBase:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
    MessageDTO:
      type: object
      properties:
        message:
          title: message
          type: string
          example: Success!
    DWRResponseMessageDTO:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        retVal:
          $ref: '#/components/schemas/MessageDTO'
    DWRResponseV3EmailPreferencesDTO:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        response:
          $ref: '#/components/schemas/EmailPreferencesDTO'
    DWRResponseV3PreferencesDTO:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        response:
          $ref: '#/components/schemas/PreferencesDTO'
    DWRResponsePageableV3CollectionPreferencesDTO:
      type: object
      properties:
        additionalData:
          title: Provides insights into endpoint-supported pagination information.
          type: object
          description: '+ **totalItems**: The total count of data points returned in an API response.

            '
          example:
            totalItems: '422'
            next: http://someUrl?cursor=3
            cursor: 3
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        response:
          type: array
          items:
            $ref: '#/components/schemas/PreferencesDTO'
    DWRResponseEncryptedCredentialsDTO:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        retVal:
          $ref: '#/components/schemas/EncryptedCredentialsDTO'
    EncryptCredentialsRequestDTO:
      type: object
      properties:
        clientPublicKey:
          title: Client public key
          type: string
          description: Ephemeral RSA public key (PKIX/SPKI DER, base64url) the payload is encrypted to
        payload:
          title: Payload
          type: string
          description: Plaintext (e.g. JSON) to encrypt to the client public key
    DWRResponsePageableCollectionUserKeyDTO:
      type: object
      properties:
        additionalData:
          title: Provides insights into endpoint-supported pagination information.
          type: object
          description: '+ **totalItems**: The total count of data points returned in an API response.

            + **isLastPage**: Defines whether the current page represents the conclusion of the API response. When “true”, this signifies you are viewing the last page of the API response. When “false”, this indicates there are further pages remaining.'
          example:
            totalItems: '422'
            isLastPage: 'true'
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        retVal:
          type: array
          items:
            $ref: '#/components/schemas/UserKeyDTO'
      description: Provides insights into endpoint-supported pagination information
    UserKeyDTO:
      type: object
      properties:
        uuid:
          title: User Key UUID
          type: string
          example: 123e4567-e89b-12d3-a456-426655440000
        userUuid:
          title: User UUID
          type: string
          example: 123e4567-e89b-12d3-a456-426655440000
        userKey:
          title: User Key
          type: string
          example: 8d541c7d782e4b7891ebf61e864f76cb9af75f17d4394b109f1155e88f3e86bd
        createdAt:
          title: Time Of Creation
          type: string
          format: date-time
        lastUsedAt:
          title: Last Token Usage
          type: string
          format: date-time
        description:
          title: Token Description
          type: string
          example: Token A
        expirationDate:
          title: Token Expiration Date
          type: string
          format: date-time
    DWRResponseV3ListEmailPreferencesDTO:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        response:
          type: array
          items:
            $ref: '#/components/schemas/EmailPreferencesDTO'
    UpdateEmailPreferencesRequestDTO:
      type: object
      properties:
        userEmail:
          type: string
        engineType:
          type: string
        enabled:
          type: boolean
        keyId:
          type: string
        orgUuid:
          type: string
    GenerateUserKeyRequestDTO:
      type: object
      properties:
        description:
          title: UserToken Description
          type: string
          example: Token A
    EmailPreferencesDTO:
      type: object
      properties:
        uuid:
          type: string
        userEmail:
          type: string
        engineType:
          type: string
          enum:
          - UNIFIED
          - SCA
          - SAST
          - IAC
          - IMG
          - AI
          - DAST
        enabled:
          type: boolean
        keyId:
          type: string
        orgUuid:
          type: string
        updatedAt:
          type: string
          format: date-time
    CliCredentialsRequestDTO:
      type: object
      properties:
        clientPublicKey:
          title: Client public key
          type: string
          description: Ephemeral RSA public key (PKIX/SPKI DER, base64url) the credentials are encrypted to
    DWRResponseUserKeyDTO:
      type: object
      properties:
        supportToken:
          title: Support Token
          type: string
          example: 1171c60d
        retVal:
          $ref: '#/components/schemas/UserKeyDTO'
    UserChangePasswordDTO:
      type: object
      properties:
        password:
          type: string
        currentPassword:
          type: string
    PreferencesRequestDTO:
      type: object
      properties:
        uuid:
          type: string
        keyId:
          type: string
        category:
          type: string
        configurations:
          type: string
    EncryptedCredentialsDTO:
      type: object
      properties:
        encryptedCredentials:
          type: string
  securitySchemes:
    bearer-key:
      type: http
      description: JWT token Bearer
      scheme: bearer
      bearerFormat: JWT