Pixieset Collections API

Gallery collections, access, and downloads.

OpenAPI Specification

pixieset-collections-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Pixieset Studio & Gallery API (Modeled, Unofficial) Clients Collections 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: Collections
  description: Gallery collections, access, and downloads.
paths:
  /collections/{collection_id}:
    get:
      operationId: getCollection
      tags:
      - Collections
      summary: Get gallery collection details
      servers:
      - url: https://galleries.pixieset.com/api/v1
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: integer
          example: 90516387
      - name: expand
        in: query
        schema:
          type: string
          example: video_cover
      responses:
        '200':
          description: Collection detail.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Collection'
  /collections/{collection_id}/galleries:
    get:
      operationId: listCollectionGalleries
      tags:
      - Collections
      summary: List galleries in a collection
      servers:
      - url: https://galleries.pixieset.com/api/v1
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Galleries within the collection.
          content:
            application/json:
              schema:
                type: object
  /collections/{collection_id}/clients:
    get:
      operationId: listCollectionClients
      tags:
      - Collections
      summary: List clients with access to a collection
      servers:
      - url: https://galleries.pixieset.com/api/v1
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Clients with access, permission level, and favorites count.
          content:
            application/json:
              schema:
                type: object
  /collections/{collection_id}/downloads/:
    get:
      operationId: listCollectionDownloads
      tags:
      - Collections
      summary: List all download activity for a collection
      servers:
      - url: https://galleries.pixieset.com/api/v1
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Combined photo and video download activity.
          content:
            application/json:
              schema:
                type: object
  /collections/{collection_id}/favorites:
    get:
      operationId: listCollectionFavorites
      tags:
      - Collections
      summary: List client-favorited photos and videos in a collection
      servers:
      - url: https://galleries.pixieset.com/api/v1
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Favorited media with client attribution.
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    Collection:
      type: object
      properties:
        id:
          type: integer
          example: 90516387
        name:
          type: string
        description:
          type: string
        gallery_count:
          type: integer
        photo_count:
          type: integer
        video_count:
          type: integer
        password_protected:
          type: boolean
        downloadable:
          type: boolean
        expiry_date:
          type: string
          format: date
          nullable: true
  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/