Mixmax Contacts API

Mixmax Contacts (people you've emailed) — deprecated resource group

OpenAPI Specification

mixmax-contacts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Mixmax REST Contact Groups Contacts API
  version: '1'
  description: The Mixmax REST API provides lightweight, real-time access to Mixmax data — contacts, contact groups and notes, sequences and their recipients, file requests, meeting summaries and transcripts, and snippet tags. It is optimized for real-time interactions and is explicitly not designed for bulk exports or high-volume data synchronization. Authentication is via an API token (X-API-Token header or apiToken query parameter) created under Settings > Integrations. Faithful capture of the documented reference at https://developer.mixmax.com/ — response schemas are intentionally left open where the provider does not publish them (no fabrication).
  contact:
    name: Mixmax Developer Support
    url: https://developer.mixmax.com/
  x-apievangelist:
    method: generated
    source: https://developer.mixmax.com/ (llms.txt + reference pages)
    generated: '2026-07-20'
servers:
- url: https://api.mixmax.com/v1
  description: Mixmax production REST API
security:
- apiToken: []
tags:
- name: Contacts
  description: Mixmax Contacts (people you've emailed) — deprecated resource group
paths:
  /contacts:
    get:
      operationId: listContacts
      summary: List Mixmax Contacts
      description: Lists all your Mixmax Contacts (i.e. people you've emailed using Mixmax). Does not currently return contacts shared with you via shared contact groups (a performance limitation).
      deprecated: true
      tags:
      - Contacts
      parameters:
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - name
          - email
          - timestamp
          - usedCount
        description: Field to sort by
      - name: sortAscending
        in: query
        schema:
          type: boolean
        description: Sort ascending
      - name: search
        in: query
        schema:
          type: string
        description: Optional search string
      - name: includeShared
        in: query
        schema:
          type: boolean
        description: Include shared contacts
      - name: expand
        in: query
        schema:
          type: string
        description: Fields to expand (firstName
        lastName: null
        groups: null
        notes: null
        salesforce): null
      - name: withAnalytics
        in: query
        schema:
          type: boolean
      - name: dates
        in: query
        schema:
          type: string
        description: Analytics date range
      - name: timezoneOffset
        in: query
        schema:
          type: integer
        description: Client timezone offset in minutes
      - name: since
        in: query
        schema:
          type: string
        description: Lower bound of date range
      - name: until
        in: query
        schema:
          type: string
        description: Upper bound of date range
      responses:
        '200':
          $ref: '#/components/responses/ContactCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
    post:
      operationId: createContacts
      summary: Create one or more contacts
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Created contacts
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /contacts/query:
    post:
      operationId: queryContacts
      summary: Search for matching contacts
      description: Search for matching contacts across multiple sources including Mixmax, Google directory, and Salesforce (contacts, leads, accounts, and opportunities). Differs from GET /contacts which only searches Mixmax Contacts.
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Matching contacts
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /contacts/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Contact _id
    get:
      operationId: getContact
      summary: Retrieve a contact by _id
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: A contact
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateContact
      summary: Update a specific contact
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Updated contact
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteContact
      summary: Delete a specific contact
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /contacts/{id}/notes:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Contact _id
    get:
      operationId: listContactNotes
      summary: List notes for a contact
      description: Lists notes for a contact. These can be seen in the Mixmax Dashboard under 'Contacts'.
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Notes for the contact
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createContactNote
      summary: Create a contact note
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Created note
        '401':
          $ref: '#/components/responses/Unauthorized'
  /contacts/{id}/notes/{noteId}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Contact _id
    - name: noteId
      in: path
      required: true
      schema:
        type: string
      description: Note id
    put:
      operationId: updateContactNote
      summary: Update a contact note
      description: Updates a contact note. Only the creator of the note can edit it. The contact note will show "(edited)" in the UI.
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Updated note
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteContactNote
      summary: Delete a contact note
      description: Deletes a note. Only the creator of the note can delete it.
      deprecated: true
      tags:
      - Contacts
      responses:
        '200':
          description: Deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    ContactCollection:
      description: A cursor-paginated collection of contacts
      content:
        application/json:
          schema:
            type: object
            properties:
              results:
                type: array
                items:
                  type: object
              next:
                type:
                - string
                - 'null'
              previous:
                type:
                - string
                - 'null'
              hasNext:
                type: boolean
              hasPrevious:
                type: boolean
    RateLimited:
      description: Rate limit exceeded (120 requests per 60s window per IP and user). Inspect X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
        X-RateLimit-Remaining:
          schema:
            type: integer
        X-RateLimit-Reset:
          schema:
            type: integer
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
    Unauthorized:
      description: Missing or invalid API token
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: X-API-Token
      description: API token created under Mixmax Settings > Integrations. May alternatively be supplied as the apiToken query-string parameter.