Pixieset Contracts API

Contracts and contract templates.

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-contracts-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-contracts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Pixieset Studio & Gallery API (Modeled, Unofficial) Clients Contracts 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: Contracts
  description: Contracts and contract templates.
paths:
  /contracts/:
    get:
      operationId: listContracts
      tags:
      - Contracts
      summary: List contracts
      parameters:
      - name: expand
        in: query
        schema:
          type: string
          example: all
      - name: page
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Paginated list of contracts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Contract'
  /contracts/{contract_id}:
    get:
      operationId: getContract
      tags:
      - Contracts
      summary: Get contract details
      parameters:
      - name: contract_id
        in: path
        required: true
        schema:
          type: string
          example: co_CON001ABC123DEF456GHI789JKL012
      - name: expand
        in: query
        schema:
          type: string
          example: all
      responses:
        '200':
          description: Contract detail with rendered content and signatures.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Contract'
  /templates/contracts:
    get:
      operationId: listContractTemplates
      tags:
      - Contracts
      summary: List contract templates
      responses:
        '200':
          description: List of contract templates.
          content:
            application/json:
              schema:
                type: object
  /templates/contracts/{template_id}:
    get:
      operationId: getContractTemplate
      tags:
      - Contracts
      summary: Get contract template details
      parameters:
      - name: template_id
        in: path
        required: true
        schema:
          type: string
          example: ct_CON002ABC123DEF456GHI789JKL012
      responses:
        '200':
          description: Contract template detail with HTML body and variables.
          content:
            application/json:
              schema:
                type: object
    put:
      operationId: updateContractTemplate
      tags:
      - Contracts
      summary: Update a contract template
      parameters:
      - name: template_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Updated contract template.
          content:
            application/json:
              schema:
                type: object
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
    Contract:
      type: object
      properties:
        id:
          type: string
          example: co_CON001ABC123DEF456GHI789JKL012
        contract_number:
          type: string
        status:
          type: string
          enum:
          - draft
          - sent
          - viewed
          - partially_signed
          - signed
          - expired
          - cancelled
        due_date:
          type: string
          format: date-time
        signed_date:
          type: string
          format: date-time
          nullable: true
        client:
          $ref: '#/components/schemas/Client'
  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/