Comunix User Profiles API

The User Profiles API from Comunix — 3 operation(s) for user profiles.

Operations 6

GET /api/v2/user_profiles GET /api/v2/user_profiles #
PATCH /api/v2/user_profiles Update an existing profile #
PUT /api/v2/user_profiles Create or replace a profile #
GET /api/v2/user_profiles/events GET /api/v2/user_profiles/events #
POST /api/v2/user_profiles/events Create an event #
GET /api/v2/user_profiles/{profileId}/events Retrieve events for a profile #

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/comunix:comunix-user-profiles-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

comunix-user-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Comunix User Profiles API
  version: '2026-10-10'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-10: 16 operation(s) read from 7 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Comunix has published no machine-readable contract that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 9
    documentation: 7
    pages-with-code: 6
    pages-read: 7
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-10'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://developer.zendesk.com/documentation/developer-tools/working-with-the-zendesk-apis/exploring-zendesk-apis-with-postman
  - https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events
  - https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles
  - https://developer.zendesk.com/documentation/custom-data/custom-objects/getting-started-with-custom-objects
  - https://developer.zendesk.com/documentation/developer-tools/getting-started/getting-a-trial-or-sponsored-account-for-development
  - https://developer.zendesk.com/api-reference/ticketing/introduction
  - https://developer.zendesk.com/api-reference/status_api/status_api
servers:
- url: https://status.zendesk.com
tags:
- name: User Profiles
paths:
  /api/v2/user_profiles:
    get:
      operationId: get_api_v2_user_profiles
      tags:
      - User Profiles
      summary: GET /api/v2/user_profiles
      x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles
      parameters:
      - name: identifier
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV2UserProfilesResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://{subdomain}.zendesk.com/api/v2/user_profiles?identifier=acme:customer:email: [email protected] \" \\ - d @ profile . json \\ - H \"Content-Type: application/json\" \\ - H \"Authorization: Bearer {access_token}\" - X PUT \n Make sure to replace the placeholder values with your own. Also make sure to enclose the URL in quotes. \n Windows users: Replace the line-continuation backslashes (\\) in th"
    patch:
      operationId: patch_api_v2_user_profiles
      tags:
      - User Profiles
      summary: Update an existing profile
      x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles
      parameters:
      - name: identifier
        in: query
        required: true
        schema:
          type: string
        description: Identifier query used to select the profile to update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiV2UserProfilesRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchApiV2UserProfilesResponse'
      x-evidence:
        kind: documentation
    put:
      operationId: put_api_v2_user_profiles
      tags:
      - User Profiles
      summary: Create or replace a profile
      x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles
      parameters:
      - name: identifier
        in: query
        required: true
        schema:
          type: string
        description: Identifier query that defines source and type and prevents duplicate data (e.g. acme:customer:email:[email protected])
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutApiV2UserProfilesRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutApiV2UserProfilesResponse'
      x-evidence:
        kind: documentation
  /api/v2/user_profiles/events:
    get:
      operationId: get_api_v2_user_profiles_events
      tags:
      - User Profiles
      summary: GET /api/v2/user_profiles/events
      x-source: https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events
      parameters:
      - name: identifier
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV2UserProfilesEventsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://{subdomain}.zendesk.com/api/v2/user_profiles/events?identifier=acme:customer:email: [email protected] \" \\ - H \"Authorization: Bearer {access_token}\" \n Make sure to replace the placeholder values with your own. Also make sure to enclose the URL in quotes. \n Example response \n Status : 200 OK \n { \"events\" : [ { \"id\" : \"5c42123e98326c0001b0b25c\" , \"type\" : \"2fa_enabled\" , \"source\" : \"ac"
    post:
      operationId: post_api_v2_user_profiles_events
      tags:
      - User Profiles
      summary: Create an event
      x-source: https://developer.zendesk.com/documentation/ticketing/events/getting-started-with-events
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV2UserProfilesEventsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV2UserProfilesEventsResponse'
      x-evidence:
        kind: documentation
  /api/v2/user_profiles/{profileId}/events:
    get:
      operationId: get_api_v2_user_profiles_profileId_events
      tags:
      - User Profiles
      summary: Retrieve events for a profile
      x-source: https://developer.zendesk.com/documentation/ticketing/profiles/getting-started-with-profiles
      parameters:
      - name: profileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV2UserProfilesProfileidEventsResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiV2UserProfilesProfileidEventsResponse:
      type: object
      properties:
        events:
          type: array
          description: List of event objects associated with the profile
    PatchApiV2UserProfilesRequest:
      type: object
      properties:
        profile:
          type: object
          description: Partial profile object with fields to update
        profile.identifiers:
          type: array
          description: Array of identifier objects to add
        profile.identifiers[].type:
          type: string
          description: Identifier type (e.g. "office_phone")
        profile.identifiers[].value:
          type: string
          description: Identifier value
      required:
      - profile
      - profile.identifiers
      - profile.identifiers[].type
      - profile.identifiers[].value
    PutApiV2UserProfilesResponse:
      type: object
      properties:
        profile.id:
          type: string
          description: Profile ID
        profile.user_id:
          type: string
          description: Associated Zendesk user ID
        profile.source:
          type: string
        profile.type:
          type: string
        profile.name:
          type: string
        profile.attributes:
          type: object
        profile.identifiers:
          type: array
        profile.created_at:
          type: string
          description: Timestamp of creation
        profile.updated_at:
          type: string
          description: Timestamp of last update
    PostApiV2UserProfilesEventsRequest:
      type: object
      properties:
        profile:
          type: string
          description: Object that associates the person in the external system with a Zendesk user.
        profile.source:
          type: string
          description: Source of the profile (e.g., "acme").
        profile.type:
          type: string
          description: Type of the profile (e.g., "customer").
        profile.identifiers:
          type: string
          description: Array of identifier objects.
        profile.identifiers[].type:
          type: string
          description: Identifier type (e.g., "email").
        profile.identifiers[].value:
          type: string
          description: Identifier value (e.g., an email address).
        event:
          type: string
          description: Object describing the event.
        event.source:
          type: string
          description: Source of the event (e.g., "acme").
        event.type:
          type: string
          description: Event type (e.g., "2fa_enabled").
        event.description:
          type: string
          description: Human‑readable description of the event.
        event.properties:
          type: string
          description: Key/value pairs with additional event data.
        event.properties.passcode_preference:
          type: string
          description: Example property (e.g., "SMS").
      required:
      - profile
      - profile.source
      - profile.type
      - profile.identifiers
      - profile.identifiers[].type
      - profile.identifiers[].value
      - event
      - event.source
      - event.type
      - event.description
    GetApiV2UserProfilesEventsResponse:
      type: object
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              type:
                type: string
              source:
                type: string
              description:
                type: string
              created_at:
                type: string
                format: date-time
              received_at:
                type: string
                format: date-time
              properties:
                type: object
                properties:
                  passcode_preference:
                    type: string
        links:
          type: array
          items:
            type: object
            properties:
              next:
                type: string
    PatchApiV2UserProfilesResponse:
      type: object
      properties:
        profile.id:
          type: string
        profile.user_id:
          type: string
        profile.source:
          type: string
        profile.type:
          type: string
        profile.name:
          type: string
        profile.attributes:
          type: object
        profile.identifiers:
          type: array
        profile.created_at:
          type: string
        profile.updated_at:
          type: string
    GetApiV2UserProfilesResponse:
      type: object
      properties:
        profile:
          type: object
          properties:
            id:
              type: string
            user_id:
              type: string
            source:
              type: string
            type:
              type: string
            name:
              type: string
            attributes:
              type: object
              properties:
                contact_pref:
                  type: string
                joined:
                  type: string
            identifiers:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                  value:
                    type: string
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
    PutApiV2UserProfilesRequest:
      type: object
      properties:
        profile:
          type: object
          description: Profile object to create
        profile.source:
          type: string
          description: Source of the profile (e.g. "acme")
        profile.type:
          type: string
          description: Type of the profile (e.g. "customer")
        profile.identifiers:
          type: array
          description: Array of identifier objects
        profile.identifiers[].type:
          type: string
          description: Identifier type (e.g. "email", "phone_number")
        profile.identifiers[].value:
          type: string
          description: Identifier value
        profile.attributes:
          type: object
          description: Optional custom attributes
      required:
      - profile
      - profile.source
      - profile.type
      - profile.identifiers
      - profile.identifiers[].type
      - profile.identifiers[].value
    PostApiV2UserProfilesEventsResponse:
      type: object
      properties:
        status:
          type: string
          description: 'Result of the request (example: "received").'