Pixieset Clients API

Client and lead CRM records.

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/pixieset-clients-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pixieset-clients-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Pixieset Studio & Gallery API (Modeled, Unofficial) Clients API
  description: Pixieset does not publish a public or partner developer API - there is no self-serve API key or OAuth signup, no official API reference, and no developer program. The endpoints below model the internal, session-cookie -authenticated web APIs that power Pixieset's own Studio Manager (studio.pixieset.com) and Client Gallery (galleries.pixieset.com) web apps, as documented by an independent third party (https://trozz.github.io/pixieset-api-docs/, "unofficial documentation created through reverse engineering and API analysis... not affiliated with or endorsed by Pixieset"). Paths, parameters, and response shapes are sourced from that community project (111+ endpoints catalogued there); only a representative subset is modeled here across Clients, Sessions, Invoices, Contracts, and Gallery Collections. Nothing here is independently verified against Pixieset's current implementation - treat this as a best-effort, sourced model rather than an authoritative reference, it may change or disappear without notice, and using it against Pixieset's production systems outside of your own account should be checked against Pixieset's Terms of Service.
  version: 1.0-modeled
  contact:
    name: Pixieset
    url: https://pixieset.com
servers:
- url: https://studio.pixieset.com/api/v1
  description: Studio API (business management) - modeled, unofficial
- url: https://galleries.pixieset.com/api/v1
  description: Gallery API (client delivery & sales) - modeled, unofficial
security:
- sessionCookie: []
tags:
- name: Clients
  description: Client and lead CRM records.
paths:
  /clients/:
    get:
      operationId: listClients
      tags:
      - Clients
      summary: List clients and leads
      description: Returns a paginated list of client/lead/other contact records. Modeled from the Studio API Clients & CRM reference.
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        schema:
          type: integer
          default: 25
      - name: types
        in: query
        description: 'Comma-separated: client, lead, other'
        schema:
          type: string
      responses:
        '200':
          description: Paginated list of clients.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientListResponse'
  /clients/search:
    get:
      operationId: searchClients
      tags:
      - Clients
      summary: Search clients and leads
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
      - name: types
        in: query
        schema:
          type: string
          enum:
          - all
          - client
          - lead
      - name: page
        in: query
        schema:
          type: integer
      - name: pageSize
        in: query
        schema:
          type: integer
          maximum: 100
      responses:
        '200':
          description: Matching clients.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientListResponse'
  /clients/{client_id}:
    get:
      operationId: getClient
      tags:
      - Clients
      summary: Get client details
      parameters:
      - name: client_id
        in: path
        required: true
        schema:
          type: string
          example: cl_ABC123DEF456GHI789JKL012MNO345
      responses:
        '200':
          description: Client detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Client'
    put:
      operationId: updateClient
      tags:
      - Clients
      summary: Update a client
      parameters:
      - name: client_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Client'
      responses:
        '200':
          description: Updated client.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Client'
components:
  schemas:
    Client:
      type: object
      properties:
        id:
          type: string
          example: cl_ABC123DEF456GHI789JKL012MNO345
        email:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        phone:
          type: string
        company:
          type: string
          nullable: true
        status_name:
          type: string
          example: Active
        type:
          type: string
          enum:
          - client
          - lead
          - other
        created_at:
          type: string
          format: date-time
    ClientListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Client'
        meta:
          type: object
          properties:
            current_page:
              type: integer
            per_page:
              type: integer
            total:
              type: integer
  securitySchemes:
    sessionCookie:
      type: apiKey
      in: cookie
      name: session_cookie
      description: Session cookie issued by the Pixieset web login flow (studio.pixieset.com/login or galleries.pixieset.com/login). This is the internal web-app session mechanism, not a published API-key or OAuth developer credential - Pixieset does not offer either for third-party use. Write operations additionally require an X-CSRF-Token header per the reverse-engineered documentation.
externalDocs:
  description: Unofficial Pixieset API documentation (trozz/pixieset-api-docs)
  url: https://trozz.github.io/pixieset-api-docs/