openapi: 3.1.0 info: title: Pixelfed REST Accounts Collections API description: 'Mastodon-compatible REST API for the Pixelfed federated photo-sharing platform. Provides endpoints for accounts, statuses, timelines, media, notifications, search, collections, stories, direct messages, and instance/federation metadata. All authenticated calls use OAuth2 Bearer tokens. Every Pixelfed instance exposes this API independently at its own domain; there is no single central API host. ' version: '1.1' contact: name: Pixelfed email: hello@pixelfed.org url: https://pixelfed.org license: name: AGPL-3.0 url: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE x-logo: url: https://pixelfed.org/img/logo.svg servers: - url: https://{instance}/api description: A Pixelfed instance variables: instance: default: pixelfed.social description: Hostname of the Pixelfed instance security: - OAuth2: - read - write - follow - push - BearerAuth: [] tags: - name: Collections description: Pixelfed-specific photo collections (v1.1) paths: /v1.1/collections/create: get: operationId: createCollection summary: Create a collection description: Creates a new Pixelfed photo collection. tags: - Collections security: - OAuth2: - write - BearerAuth: [] parameters: - name: title in: query schema: type: string - name: description in: query schema: type: string - name: visibility in: query schema: type: string enum: - public - private responses: '200': description: Created collection object content: application/json: schema: type: object '401': $ref: '#/components/responses/Unauthorized' /v1.1/collections/update: get: operationId: updateCollection summary: Update a collection description: Updates an existing Pixelfed photo collection. tags: - Collections security: - OAuth2: - write - BearerAuth: [] parameters: - name: id in: query required: true schema: type: string - name: title in: query schema: type: string - name: description in: query schema: type: string - name: visibility in: query schema: type: string responses: '200': description: Updated collection object content: application/json: schema: type: object '401': $ref: '#/components/responses/Unauthorized' /v1.1/collections/delete: get: operationId: deleteCollection summary: Delete a collection description: Deletes a Pixelfed photo collection. tags: - Collections security: - OAuth2: - write - BearerAuth: [] parameters: - name: id in: query required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: object '401': $ref: '#/components/responses/Unauthorized' components: schemas: Error: type: object properties: error: type: string description: Error message error_description: type: string description: Additional error details responses: Unauthorized: description: Missing or invalid OAuth token content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{instance}/oauth/authorize tokenUrl: https://{instance}/oauth/token scopes: read: Read-only access to account data and timelines write: Write access to post statuses and manage account follow: Manage follows, blocks, and mutes push: Manage Web Push subscriptions BearerAuth: type: http scheme: bearer bearerFormat: OAuth2 externalDocs: description: Pixelfed Documentation url: https://docs.pixelfed.org/