openapi: 3.1.0 info: title: Bluesky Social API description: "The Bluesky Social API provides programmatic access to the Bluesky social network built on the AT Protocol. \n\nThis API enables developers to:\n- Manage user profiles and preferences\n- Create, read, and interact with posts and feeds\n- Handle social graph operations (follows, blocks, mutes)\n- Process notifications and conversations\n- Moderate content and manage labels\n- Synchronize repository data\n\nAuthentication is handled via Bearer tokens. Public endpoints can be accessed directly at https://public.api.bsky.app, while authenticated requests should be made to the user's Personal Data Server (PDS).\n\nFor more information, visit the [Bluesky API Documentation](https://docs.bsky.app)." version: 1.0.0 contact: name: Bluesky Support url: https://bsky.app license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: https://bsky.social/xrpc description: Bluesky Social PDS - url: https://public.api.bsky.app/xrpc description: Public Bluesky AppView API (unauthenticated endpoints) tags: - name: Actor Profiles description: Operations for managing user profiles, preferences, and actor information. - name: Administration description: Administrative operations for managing accounts and invites. - name: Chat Actors description: Operations for managing chat actor settings and declarations. - name: Chat Moderation description: Operations for moderating chat content. - name: Content Labels description: Operations for managing content labelers and label subscriptions. - name: Conversations description: Operations for managing direct message conversations. - name: Feeds description: Operations for managing feeds, posts, likes, and reposts. - name: Identity description: Operations for identity management and DID resolution. - name: Labels description: Operations for content labeling and moderation. - name: Moderation description: Operations for content moderation reporting. - name: Notifications description: Operations for managing user notifications. - name: Ozone Communication description: Ozone moderation tool communication operations. - name: Ozone Moderation description: Ozone moderation tool operations. - name: Ozone Server description: Ozone server configuration operations. - name: Ozone Sets description: Ozone set management operations. - name: Ozone Settings description: Ozone settings management operations. - name: Ozone Signatures description: Ozone signature and threat analysis operations. - name: Ozone Team description: Ozone team member management operations. - name: Repository description: Operations for managing AT Protocol repositories. - name: Server description: Operations for server management and authentication. - name: Social Graph description: Operations for managing follows, followers, blocks, mutes, and lists. - name: Sync description: Operations for repository synchronization. - name: Video description: Operations for video upload and processing. paths: /xrpc/app.bsky.actor.getPreferences: get: operationId: actorGetPreferences summary: Bluesky Get private preferences attached to the current account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - preferences properties: preferences: $ref: '#/components/schemas/AppBskyActorDefsPreferences' examples: ActorGetPreferencesResponse200Example: $ref: '#/components/examples/ActorGetPreferencesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.actor.getProfile: get: operationId: actorGetProfile summary: Bluesky Get detailed profile view of an actor. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query description: Handle or DID of account to fetch profile of. required: true schema: type: string description: Handle or DID of account to fetch profile of. format: at-identifier example: user.bsky.social responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AppBskyActorDefsProfileViewDetailed' examples: ActorGetProfileResponse200Example: $ref: '#/components/examples/ActorGetProfileResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.actor.getProfiles: get: operationId: actorGetProfiles summary: Bluesky Get detailed profile views of multiple actors. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get detailed profile views of multiple actors. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actors in: query required: true schema: type: array items: type: string format: at-identifier maxItems: 25 example: - user.bsky.social responses: '200': description: OK content: application/json: schema: type: object required: - profiles properties: profiles: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileViewDetailed' examples: ActorGetProfilesResponse200Example: $ref: '#/components/examples/ActorGetProfilesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.actor.getSuggestions: get: operationId: actorGetSuggestions summary: Bluesky Get a list of suggested actors. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - actors properties: cursor: type: string actors: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: ActorGetSuggestionsResponse200Example: $ref: '#/components/examples/ActorGetSuggestionsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.actor.putPreferences: post: operationId: actorPutPreferences summary: Bluesky Set the private preferences attached to the account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Set the private preferences attached to the account. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - preferences properties: preferences: $ref: '#/components/schemas/AppBskyActorDefsPreferences' examples: ActorPutPreferencesRequestExample: $ref: '#/components/examples/ActorPutPreferencesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.actor.searchActors: get: operationId: actorSearchActors summary: Bluesky Find actors (profiles) matching search criteria. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Find actors (profiles) matching search criteria. Does not require auth. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: q in: query description: Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. required: false schema: type: string description: Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. example: example-q - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 25 example: 25 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - actors properties: cursor: type: string actors: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: ActorSearchActorsResponse200Example: $ref: '#/components/examples/ActorSearchActorsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.actor.searchActorsTypeahead: get: operationId: actorSearchActorsTypeahead summary: Bluesky Find actor suggestions for a prefix search term. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth. tags: - Actor Profiles x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: q in: query description: Search query prefix; not a full query string. required: false schema: type: string description: Search query prefix; not a full query string. example: example-q - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 example: 10 responses: '200': description: OK content: application/json: schema: type: object required: - actors properties: actors: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' examples: ActorSearchActorsTypeaheadResponse200Example: $ref: '#/components/examples/ActorSearchActorsTypeaheadResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.describeFeedGenerator: get: operationId: feedDescribeFeedGenerator summary: Bluesky Get information about a feed generator, including policies and offered feed URIs. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View). tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - did - feeds properties: did: type: string format: did feeds: type: array items: $ref: '#/components/schemas/AppBskyFeedDescribeFeedGeneratorFeed' links: $ref: '#/components/schemas/AppBskyFeedDescribeFeedGeneratorLinks' examples: FeedDescribeFeedGeneratorResponse200Example: $ref: '#/components/examples/FeedDescribeFeedGeneratorResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getActorFeeds: get: operationId: feedGetActorFeeds summary: Bluesky Get a list of feeds (feed generator records) created by the actor (in the actor's repo). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of feeds (feed generator records) created by the actor (in the actor's repo). tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feeds properties: cursor: type: string feeds: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsGeneratorView' examples: FeedGetActorFeedsResponse200Example: $ref: '#/components/examples/FeedGetActorFeedsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getActorLikes: get: operationId: feedGetActorLikes summary: Bluesky Get a list of posts liked by an actor. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of posts liked by an actor. Requires auth, actor must be the requesting account. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feed properties: cursor: type: string feed: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsFeedViewPost' examples: FeedGetActorLikesResponse200Example: $ref: '#/components/examples/FeedGetActorLikesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - BlockedActor - BlockedByActor message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getAuthorFeed: get: operationId: feedGetAuthorFeed summary: Bluesky Get a view of an actor's 'author feed' (post and reposts by the author). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: filter in: query description: Combinations of post/repost types to include in response. required: false schema: type: string description: Combinations of post/repost types to include in response. default: posts_with_replies enum: - posts_with_replies - posts_no_replies - posts_with_media - posts_and_author_threads example: posts_with_replies - name: includePins in: query required: false schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: type: object required: - feed properties: cursor: type: string feed: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsFeedViewPost' examples: FeedGetAuthorFeedResponse200Example: $ref: '#/components/examples/FeedGetAuthorFeedResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - BlockedActor - BlockedByActor message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getFeed: get: operationId: feedGetFeed summary: Bluesky Get a hydrated feed from an actor's selected feed generator. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a hydrated feed from an actor's selected feed generator. Implemented by App View. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: feed in: query required: true schema: type: string format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feed properties: cursor: type: string feed: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsFeedViewPost' examples: FeedGetFeedResponse200Example: $ref: '#/components/examples/FeedGetFeedResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - UnknownFeed message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getFeedGenerator: get: operationId: feedGetFeedGenerator summary: Bluesky Get information about a feed generator. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get information about a feed generator. Implemented by AppView. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: feed in: query description: AT-URI of the feed generator record. required: true schema: type: string description: AT-URI of the feed generator record. format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 responses: '200': description: OK content: application/json: schema: type: object required: - view - isOnline - isValid properties: view: $ref: '#/components/schemas/AppBskyFeedDefsGeneratorView' isOnline: type: boolean description: Indicates whether the feed generator service has been online recently, or else seems to be inactive. isValid: type: boolean description: Indicates whether the feed generator service is compatible with the record declaration. examples: FeedGetFeedGeneratorResponse200Example: $ref: '#/components/examples/FeedGetFeedGeneratorResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getFeedGenerators: get: operationId: feedGetFeedGenerators summary: Bluesky Get information about a list of feed generators. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get information about a list of feed generators. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: feeds in: query required: true schema: type: array items: type: string format: at-uri example: - at://did:plc:example123/app.bsky.feed.post/abc123 responses: '200': description: OK content: application/json: schema: type: object required: - feeds properties: feeds: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsGeneratorView' examples: FeedGetFeedGeneratorsResponse200Example: $ref: '#/components/examples/FeedGetFeedGeneratorsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getFeedSkeleton: get: operationId: feedGetFeedSkeleton summary: Bluesky Get a skeleton of a feed provided by a feed generator. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a skeleton of a feed provided by a feed generator. Auth is optional, depending on provider requirements, and provides the DID of the requester. Implemented by Feed Generator Service. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: feed in: query description: Reference to feed generator record describing the specific feed being requested. required: true schema: type: string description: Reference to feed generator record describing the specific feed being requested. format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feed properties: cursor: type: string feed: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsSkeletonFeedPost' examples: FeedGetFeedSkeletonResponse200Example: $ref: '#/components/examples/FeedGetFeedSkeletonResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - UnknownFeed message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getLikes: get: operationId: feedGetLikes summary: Bluesky Get like records which reference a subject (by AT-URI and CID). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get like records which reference a subject (by AT-URI and CID). tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uri in: query description: AT-URI of the subject (eg, a post record). required: true schema: type: string description: AT-URI of the subject (eg, a post record). format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: cid in: query description: CID of the subject record (aka, specific version of record), to filter likes. required: false schema: type: string description: CID of the subject record (aka, specific version of record), to filter likes. format: cid example: bafyreiabc123example - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - uri - likes properties: uri: type: string format: at-uri cid: type: string format: cid cursor: type: string likes: type: array items: $ref: '#/components/schemas/AppBskyFeedGetLikesLike' examples: FeedGetLikesResponse200Example: $ref: '#/components/examples/FeedGetLikesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getListFeed: get: operationId: feedGetListFeed summary: Bluesky Get a feed of recent posts from a list (posts and reposts from any actors on the list). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: list in: query description: Reference (AT-URI) to the list record. required: true schema: type: string description: Reference (AT-URI) to the list record. format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feed properties: cursor: type: string feed: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsFeedViewPost' examples: FeedGetListFeedResponse200Example: $ref: '#/components/examples/FeedGetListFeedResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - UnknownList message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getPostThread: get: operationId: feedGetPostThread summary: Bluesky Get posts in a thread. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uri in: query description: Reference (AT-URI) to post record. required: true schema: type: string description: Reference (AT-URI) to post record. format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: depth in: query description: How many levels of reply depth should be included in response. required: false schema: type: integer minimum: 0 maximum: 1000 default: 6 example: 6 - name: parentHeight in: query description: How many levels of parent (and grandparent, etc) post to include. required: false schema: type: integer minimum: 0 maximum: 1000 default: 80 example: 80 responses: '200': description: OK content: application/json: schema: type: object required: - thread properties: thread: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsThreadViewPost' - $ref: '#/components/schemas/AppBskyFeedDefsNotFoundPost' - $ref: '#/components/schemas/AppBskyFeedDefsBlockedPost' threadgate: $ref: '#/components/schemas/AppBskyFeedDefsThreadgateView' examples: FeedGetPostThreadResponse200Example: $ref: '#/components/examples/FeedGetPostThreadResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - NotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getPosts: get: operationId: feedGetPosts summary: Bluesky Gets post views for a specified list of posts (by AT-URI). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uris in: query description: List of post AT-URIs to return hydrated views for. required: true schema: type: array items: type: string format: at-uri maxItems: 25 example: - at://did:plc:example123/app.bsky.feed.post/abc123 responses: '200': description: OK content: application/json: schema: type: object required: - posts properties: posts: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsPostView' examples: FeedGetPostsResponse200Example: $ref: '#/components/examples/FeedGetPostsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getQuotes: get: operationId: feedGetQuotes summary: Bluesky Get a list of quotes for a given post. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of quotes for a given post. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uri in: query description: Reference (AT-URI) of post record required: true schema: type: string description: Reference (AT-URI) of post record format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: cid in: query description: If supplied, filters to quotes of specific version (by CID) of the post record. required: false schema: type: string description: If supplied, filters to quotes of specific version (by CID) of the post record. format: cid example: bafyreiabc123example - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - uri - posts properties: uri: type: string format: at-uri cid: type: string format: cid cursor: type: string posts: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsPostView' examples: FeedGetQuotesResponse200Example: $ref: '#/components/examples/FeedGetQuotesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getRepostedBy: get: operationId: feedGetRepostedBy summary: Bluesky Get a list of reposts for a given post. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of reposts for a given post. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uri in: query description: Reference (AT-URI) of post record required: true schema: type: string description: Reference (AT-URI) of post record format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: cid in: query description: If supplied, filters to reposts of specific version (by CID) of the post record. required: false schema: type: string description: If supplied, filters to reposts of specific version (by CID) of the post record. format: cid example: bafyreiabc123example - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - uri - repostedBy properties: uri: type: string format: at-uri cid: type: string format: cid cursor: type: string repostedBy: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: FeedGetRepostedByResponse200Example: $ref: '#/components/examples/FeedGetRepostedByResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getSuggestedFeeds: get: operationId: feedGetSuggestedFeeds summary: Bluesky Get a list of suggested feeds (feed generators) for the requesting account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of suggested feeds (feed generators) for the requesting account. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feeds properties: cursor: type: string feeds: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsGeneratorView' examples: FeedGetSuggestedFeedsResponse200Example: $ref: '#/components/examples/FeedGetSuggestedFeedsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.getTimeline: get: operationId: feedGetTimeline summary: Bluesky Get a view of the requesting account's home timeline. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: algorithm in: query description: 'Variant ''algorithm'' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism.' required: false schema: type: string description: 'Variant ''algorithm'' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism.' example: example-algorithm - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - feed properties: cursor: type: string feed: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsFeedViewPost' examples: FeedGetTimelineResponse200Example: $ref: '#/components/examples/FeedGetTimelineResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.searchPosts: get: operationId: feedSearchPosts summary: Bluesky Find posts matching search criteria, returning views of those posts. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Find posts matching search criteria, returning views of those posts. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: q in: query description: Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. required: true schema: type: string description: Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. example: example-q - name: sort in: query description: Specifies the ranking order of results. required: false schema: type: string description: Specifies the ranking order of results. default: latest enum: - top - latest example: top - name: since in: query description: Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD). required: false schema: type: string description: Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD). example: example-since - name: until in: query description: Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD). required: false schema: type: string description: Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD). example: example-until - name: mentions in: query description: Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions. required: false schema: type: string description: Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions. format: at-identifier example: user.bsky.social - name: author in: query description: Filter to posts by the given account. Handles are resolved to DID before query-time. required: false schema: type: string description: Filter to posts by the given account. Handles are resolved to DID before query-time. format: at-identifier example: user.bsky.social - name: lang in: query description: Filter to posts in the given language. Expected to be based on post language field, though server may override language detection. required: false schema: type: string description: Filter to posts in the given language. Expected to be based on post language field, though server may override language detection. format: language example: en - name: domain in: query description: Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. required: false schema: type: string description: Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. example: example-domain - name: url in: query description: Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. required: false schema: type: string description: Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. format: uri example: https://example.com/resource - name: tag in: query description: Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching. required: false schema: type: array items: type: string maxLength: 640 example: - example-tag - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 25 example: 25 - name: cursor in: query description: Optional pagination mechanism; may not necessarily allow scrolling through entire result set. required: false schema: type: string description: Optional pagination mechanism; may not necessarily allow scrolling through entire result set. example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - posts properties: cursor: type: string hitsTotal: type: integer posts: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsPostView' examples: FeedSearchPostsResponse200Example: $ref: '#/components/examples/FeedSearchPostsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - BadQueryString message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.feed.sendInteractions: post: operationId: feedSendInteractions summary: Bluesky Send information about interactions with feed items back to the feed generator that served them. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Send information about interactions with feed items back to the feed generator that served them. tags: - Feeds x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - interactions properties: interactions: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsInteraction' examples: FeedSendInteractionsRequestExample: $ref: '#/components/examples/FeedSendInteractionsRequestExample' responses: '200': description: OK content: application/json: schema: type: object properties: _unknown_: type: object properties: {} examples: FeedSendInteractionsResponse200Example: $ref: '#/components/examples/FeedSendInteractionsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getActorStarterPacks: get: operationId: graphGetActorStarterPacks summary: Bluesky Get a list of starter packs created by the actor. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a list of starter packs created by the actor. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - starterPacks properties: cursor: type: string starterPacks: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsStarterPackViewBasic' examples: GraphGetActorStarterPacksResponse200Example: $ref: '#/components/examples/GraphGetActorStarterPacksResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getBlocks: get: operationId: graphGetBlocks summary: Bluesky Enumerates which accounts the requesting account is currently blocking. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates which accounts the requesting account is currently blocking. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - blocks properties: cursor: type: string blocks: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: GraphGetBlocksResponse200Example: $ref: '#/components/examples/GraphGetBlocksResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getFollowers: get: operationId: graphGetFollowers summary: Bluesky Enumerates accounts which follow a specified account (actor). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates accounts which follow a specified account (actor). tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - subject - followers properties: subject: $ref: '#/components/schemas/AppBskyActorDefsProfileView' cursor: type: string followers: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: GraphGetFollowersResponse200Example: $ref: '#/components/examples/GraphGetFollowersResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getFollows: get: operationId: graphGetFollows summary: Bluesky Enumerates accounts which a specified account (actor) follows. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates accounts which a specified account (actor) follows. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - subject - follows properties: subject: $ref: '#/components/schemas/AppBskyActorDefsProfileView' cursor: type: string follows: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: GraphGetFollowsResponse200Example: $ref: '#/components/examples/GraphGetFollowsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getKnownFollowers: get: operationId: graphGetKnownFollowers summary: Bluesky Enumerates accounts which follow a specified account (actor) and are followed by the viewer. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates accounts which follow a specified account (actor) and are followed by the viewer. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - subject - followers properties: subject: $ref: '#/components/schemas/AppBskyActorDefsProfileView' cursor: type: string followers: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: GraphGetKnownFollowersResponse200Example: $ref: '#/components/examples/GraphGetKnownFollowersResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getList: get: operationId: graphGetList summary: Bluesky Gets a 'view' (with additional context) of a specified list. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Gets a 'view' (with additional context) of a specified list. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: list in: query description: Reference (AT-URI) of the list record to hydrate. required: true schema: type: string description: Reference (AT-URI) of the list record to hydrate. format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - list - items properties: cursor: type: string list: $ref: '#/components/schemas/AppBskyGraphDefsListView' items: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsListItemView' examples: GraphGetListResponse200Example: $ref: '#/components/examples/GraphGetListResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getListBlocks: get: operationId: graphGetListBlocks summary: Bluesky Get mod lists that the requesting account (actor) is blocking. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get mod lists that the requesting account (actor) is blocking. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - lists properties: cursor: type: string lists: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsListView' examples: GraphGetListBlocksResponse200Example: $ref: '#/components/examples/GraphGetListBlocksResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getListMutes: get: operationId: graphGetListMutes summary: Bluesky Enumerates mod lists that the requesting account (actor) currently has muted. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - lists properties: cursor: type: string lists: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsListView' examples: GraphGetListMutesResponse200Example: $ref: '#/components/examples/GraphGetListMutesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getLists: get: operationId: graphGetLists summary: Bluesky Enumerates the lists created by a specified account (actor). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates the lists created by a specified account (actor). tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query description: The account (actor) to enumerate lists from. required: true schema: type: string description: The account (actor) to enumerate lists from. format: at-identifier example: user.bsky.social - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - lists properties: cursor: type: string lists: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsListView' examples: GraphGetListsResponse200Example: $ref: '#/components/examples/GraphGetListsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getMutes: get: operationId: graphGetMutes summary: Bluesky Enumerates accounts that the requesting account (actor) currently has muted. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates accounts that the requesting account (actor) currently has muted. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - mutes properties: cursor: type: string mutes: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' examples: GraphGetMutesResponse200Example: $ref: '#/components/examples/GraphGetMutesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getRelationships: get: operationId: graphGetRelationships summary: Bluesky Enumerates public relationships between one account, and a list of other accounts. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates public relationships between one account, and a list of other accounts. Does not require auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query description: Primary account requesting relationships for. required: true schema: type: string description: Primary account requesting relationships for. format: at-identifier example: user.bsky.social - name: others in: query description: List of 'other' accounts to be related back to the primary. required: false schema: type: array items: type: string format: at-identifier maxItems: 30 example: - user.bsky.social responses: '200': description: OK content: application/json: schema: type: object required: - relationships properties: actor: type: string format: did relationships: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyGraphDefsRelationship' - $ref: '#/components/schemas/AppBskyGraphDefsNotFoundActor' examples: GraphGetRelationshipsResponse200Example: $ref: '#/components/examples/GraphGetRelationshipsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - ActorNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getStarterPack: get: operationId: graphGetStarterPack summary: Bluesky Gets a view of a starter pack. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Gets a view of a starter pack. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: starterPack in: query description: Reference (AT-URI) of the starter pack record. required: true schema: type: string description: Reference (AT-URI) of the starter pack record. format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 responses: '200': description: OK content: application/json: schema: type: object required: - starterPack properties: starterPack: $ref: '#/components/schemas/AppBskyGraphDefsStarterPackView' examples: GraphGetStarterPackResponse200Example: $ref: '#/components/examples/GraphGetStarterPackResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getStarterPacks: get: operationId: graphGetStarterPacks summary: Bluesky Get views for a list of starter packs. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get views for a list of starter packs. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uris in: query required: true schema: type: array items: type: string format: at-uri maxItems: 25 example: - at://did:plc:example123/app.bsky.feed.post/abc123 responses: '200': description: OK content: application/json: schema: type: object required: - starterPacks properties: starterPacks: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsStarterPackViewBasic' examples: GraphGetStarterPacksResponse200Example: $ref: '#/components/examples/GraphGetStarterPacksResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.getSuggestedFollowsByActor: get: operationId: graphGetSuggestedFollowsByActor summary: Bluesky Enumerates follows similar to a given account (actor). description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: at-identifier example: user.bsky.social responses: '200': description: OK content: application/json: schema: type: object required: - suggestions properties: suggestions: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileView' isFallback: type: boolean description: If true, response has fallen-back to generic results, and is not scoped using relativeToDid examples: GraphGetSuggestedFollowsByActorResponse200Example: $ref: '#/components/examples/GraphGetSuggestedFollowsByActorResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.muteActor: post: operationId: graphMuteActor summary: Bluesky Creates a mute relationship for the specified account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - actor properties: actor: type: string format: at-identifier examples: GraphMuteActorRequestExample: $ref: '#/components/examples/GraphMuteActorRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.muteActorList: post: operationId: graphMuteActorList summary: Bluesky Creates a mute relationship for the specified list of accounts. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - list properties: list: type: string format: at-uri examples: GraphMuteActorListRequestExample: $ref: '#/components/examples/GraphMuteActorListRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.muteThread: post: operationId: graphMuteThread summary: Bluesky Mutes a thread preventing notifications from the thread and any of its children. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - root properties: root: type: string format: at-uri examples: GraphMuteThreadRequestExample: $ref: '#/components/examples/GraphMuteThreadRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.unmuteActor: post: operationId: graphUnmuteActor summary: Bluesky Unmutes the specified account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Unmutes the specified account. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - actor properties: actor: type: string format: at-identifier examples: GraphUnmuteActorRequestExample: $ref: '#/components/examples/GraphUnmuteActorRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.unmuteActorList: post: operationId: graphUnmuteActorList summary: Bluesky Unmutes the specified list of accounts. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Unmutes the specified list of accounts. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - list properties: list: type: string format: at-uri examples: GraphUnmuteActorListRequestExample: $ref: '#/components/examples/GraphUnmuteActorListRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.graph.unmuteThread: post: operationId: graphUnmuteThread summary: Bluesky Unmutes the specified thread. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Unmutes the specified thread. Requires auth. tags: - Social Graph x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - root properties: root: type: string format: at-uri examples: GraphUnmuteThreadRequestExample: $ref: '#/components/examples/GraphUnmuteThreadRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.labeler.getServices: get: operationId: labelerGetServices summary: Bluesky Get information about a list of labeler services. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get information about a list of labeler services. tags: - Content Labels x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: dids in: query required: true schema: type: array items: type: string format: did example: - did:plc:example123abc - name: detailed in: query required: false schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: type: object required: - views properties: views: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyLabelerDefsLabelerView' - $ref: '#/components/schemas/AppBskyLabelerDefsLabelerViewDetailed' examples: LabelerGetServicesResponse200Example: $ref: '#/components/examples/LabelerGetServicesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.notification.getUnreadCount: get: operationId: notificationGetUnreadCount summary: Bluesky Count the number of unread notifications for the requesting account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Count the number of unread notifications for the requesting account. Requires auth. tags: - Notifications x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: priority in: query required: false schema: type: boolean example: true - name: seenAt in: query required: false schema: type: string format: date-time example: '2024-01-15T12:00:00.000Z' responses: '200': description: OK content: application/json: schema: type: object required: - count properties: count: type: integer examples: NotificationGetUnreadCountResponse200Example: $ref: '#/components/examples/NotificationGetUnreadCountResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.notification.listNotifications: get: operationId: notificationListNotifications summary: Bluesky Enumerate notifications for the requesting account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerate notifications for the requesting account. Requires auth. tags: - Notifications x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: priority in: query required: false schema: type: boolean example: true - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: seenAt in: query required: false schema: type: string format: date-time example: '2024-01-15T12:00:00.000Z' responses: '200': description: OK content: application/json: schema: type: object required: - notifications properties: cursor: type: string notifications: type: array items: $ref: '#/components/schemas/AppBskyNotificationListNotificationsNotification' priority: type: boolean seenAt: type: string format: date-time examples: NotificationListNotificationsResponse200Example: $ref: '#/components/examples/NotificationListNotificationsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.notification.putPreferences: post: operationId: notificationPutPreferences summary: Bluesky Set notification-related preferences for an account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Set notification-related preferences for an account. Requires auth. tags: - Notifications x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - priority properties: priority: type: boolean examples: NotificationPutPreferencesRequestExample: $ref: '#/components/examples/NotificationPutPreferencesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.notification.registerPush: post: operationId: notificationRegisterPush summary: Bluesky Register to receive push notifications, via a specified service, for the requesting account. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Register to receive push notifications, via a specified service, for the requesting account. Requires auth. tags: - Notifications x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - serviceDid - token - platform - appId properties: serviceDid: type: string format: did token: type: string platform: type: string enum: - ios - android - web appId: type: string examples: NotificationRegisterPushRequestExample: $ref: '#/components/examples/NotificationRegisterPushRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.notification.updateSeen: post: operationId: notificationUpdateSeen summary: Bluesky Notify server that the requesting account has seen notifications. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Notify server that the requesting account has seen notifications. Requires auth. tags: - Notifications x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - seenAt properties: seenAt: type: string format: date-time examples: NotificationUpdateSeenRequestExample: $ref: '#/components/examples/NotificationUpdateSeenRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.video.getJobStatus: get: operationId: videoGetJobStatus summary: Bluesky Get status details for a video processing job. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get status details for a video processing job. tags: - Video x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: jobId in: query required: true schema: type: string example: example-jobId responses: '200': description: OK content: application/json: schema: type: object required: - jobStatus properties: jobStatus: $ref: '#/components/schemas/AppBskyVideoDefsJobStatus' examples: VideoGetJobStatusResponse200Example: $ref: '#/components/examples/VideoGetJobStatusResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.video.getUploadLimits: get: operationId: videoGetUploadLimits summary: Bluesky Get video upload limits for the authenticated user. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get video upload limits for the authenticated user. tags: - Video x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - canUpload properties: canUpload: type: boolean remainingDailyVideos: type: integer remainingDailyBytes: type: integer message: type: string error: type: string examples: VideoGetUploadLimitsResponse200Example: $ref: '#/components/examples/VideoGetUploadLimitsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/app.bsky.video.uploadVideo: post: operationId: videoUploadVideo summary: Bluesky Upload a video to be processed then stored on the PDS. description: |- *This endpoint is part of the Bluesky application Lexicon APIs (`app.bsky.*`). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Upload a video to be processed then stored on the PDS. tags: - Video x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: video/mp4: {} responses: '200': description: OK content: application/json: schema: type: object required: - jobStatus properties: jobStatus: $ref: '#/components/schemas/AppBskyVideoDefsJobStatus' examples: VideoUploadVideoResponse200Example: $ref: '#/components/examples/VideoUploadVideoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.actor.deleteAccount: post: operationId: chatActorDeleteAccount summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Chat Actors x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object properties: _unknown_: type: object properties: {} examples: ChatActorDeleteAccountResponse200Example: $ref: '#/components/examples/ChatActorDeleteAccountResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.actor.exportAccountData: get: operationId: chatActorExportAccountData summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Chat Actors x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/jsonl: {} '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.deleteMessageForSelf: post: operationId: chatConvoDeleteMessageForSelf summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - convoId - messageId properties: convoId: type: string messageId: type: string examples: ChatConvoDeleteMessageForSelfRequestExample: $ref: '#/components/examples/ChatConvoDeleteMessageForSelfRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChatBskyConvoDefsDeletedMessageView' examples: ChatConvoDeleteMessageForSelfResponse200Example: $ref: '#/components/examples/ChatConvoDeleteMessageForSelfResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.getConvo: get: operationId: chatConvoGetConvo summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: convoId in: query required: true schema: type: string example: example-convoId responses: '200': description: OK content: application/json: schema: type: object required: - convo properties: convo: $ref: '#/components/schemas/ChatBskyConvoDefsConvoView' examples: ChatConvoGetConvoResponse200Example: $ref: '#/components/examples/ChatConvoGetConvoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.getConvoForMembers: get: operationId: chatConvoGetConvoForMembers summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: members in: query required: true schema: type: array items: type: string format: did maxItems: 10 example: - did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - convo properties: convo: $ref: '#/components/schemas/ChatBskyConvoDefsConvoView' examples: ChatConvoGetConvoForMembersResponse200Example: $ref: '#/components/examples/ChatConvoGetConvoForMembersResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.getLog: get: operationId: chatConvoGetLog summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - logs properties: cursor: type: string logs: type: array items: oneOf: - $ref: '#/components/schemas/ChatBskyConvoDefsLogBeginConvo' - $ref: '#/components/schemas/ChatBskyConvoDefsLogLeaveConvo' - $ref: '#/components/schemas/ChatBskyConvoDefsLogCreateMessage' - $ref: '#/components/schemas/ChatBskyConvoDefsLogDeleteMessage' examples: ChatConvoGetLogResponse200Example: $ref: '#/components/examples/ChatConvoGetLogResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.getMessages: get: operationId: chatConvoGetMessages summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: convoId in: query required: true schema: type: string example: example-convoId - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - messages properties: cursor: type: string messages: type: array items: oneOf: - $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' - $ref: '#/components/schemas/ChatBskyConvoDefsDeletedMessageView' examples: ChatConvoGetMessagesResponse200Example: $ref: '#/components/examples/ChatConvoGetMessagesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.leaveConvo: post: operationId: chatConvoLeaveConvo summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - convoId properties: convoId: type: string examples: ChatConvoLeaveConvoRequestExample: $ref: '#/components/examples/ChatConvoLeaveConvoRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - convoId - rev properties: convoId: type: string rev: type: string examples: ChatConvoLeaveConvoResponse200Example: $ref: '#/components/examples/ChatConvoLeaveConvoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.listConvos: get: operationId: chatConvoListConvos summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - convos properties: cursor: type: string convos: type: array items: $ref: '#/components/schemas/ChatBskyConvoDefsConvoView' examples: ChatConvoListConvosResponse200Example: $ref: '#/components/examples/ChatConvoListConvosResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.muteConvo: post: operationId: chatConvoMuteConvo summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - convoId properties: convoId: type: string examples: ChatConvoMuteConvoRequestExample: $ref: '#/components/examples/ChatConvoMuteConvoRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - convo properties: convo: $ref: '#/components/schemas/ChatBskyConvoDefsConvoView' examples: ChatConvoMuteConvoResponse200Example: $ref: '#/components/examples/ChatConvoMuteConvoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.sendMessage: post: operationId: chatConvoSendMessage summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - convoId - message properties: convoId: type: string message: $ref: '#/components/schemas/ChatBskyConvoDefsMessageInput' examples: ChatConvoSendMessageRequestExample: $ref: '#/components/examples/ChatConvoSendMessageRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' examples: ChatConvoSendMessageResponse200Example: $ref: '#/components/examples/ChatConvoSendMessageResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.sendMessageBatch: post: operationId: chatConvoSendMessageBatch summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: '#/components/schemas/ChatBskyConvoSendMessageBatchBatchItem' maxItems: 100 examples: ChatConvoSendMessageBatchRequestExample: $ref: '#/components/examples/ChatConvoSendMessageBatchRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - items properties: items: type: array items: $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' examples: ChatConvoSendMessageBatchResponse200Example: $ref: '#/components/examples/ChatConvoSendMessageBatchResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.unmuteConvo: post: operationId: chatConvoUnmuteConvo summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - convoId properties: convoId: type: string examples: ChatConvoUnmuteConvoRequestExample: $ref: '#/components/examples/ChatConvoUnmuteConvoRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - convo properties: convo: $ref: '#/components/schemas/ChatBskyConvoDefsConvoView' examples: ChatConvoUnmuteConvoResponse200Example: $ref: '#/components/examples/ChatConvoUnmuteConvoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.convo.updateRead: post: operationId: chatConvoUpdateRead summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Conversations x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - convoId properties: convoId: type: string messageId: type: string examples: ChatConvoUpdateReadRequestExample: $ref: '#/components/examples/ChatConvoUpdateReadRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - convo properties: convo: $ref: '#/components/schemas/ChatBskyConvoDefsConvoView' examples: ChatConvoUpdateReadResponse200Example: $ref: '#/components/examples/ChatConvoUpdateReadResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.moderation.getActorMetadata: get: operationId: chatModerationGetActorMetadata summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Chat Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: actor in: query required: true schema: type: string format: did example: did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - day - month - all properties: day: $ref: '#/components/schemas/ChatBskyModerationGetActorMetadataMetadata' month: $ref: '#/components/schemas/ChatBskyModerationGetActorMetadataMetadata' all: $ref: '#/components/schemas/ChatBskyModerationGetActorMetadataMetadata' examples: ChatModerationGetActorMetadataResponse200Example: $ref: '#/components/examples/ChatModerationGetActorMetadataResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.moderation.getMessageContext: get: operationId: chatModerationGetMessageContext summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Chat Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: convoId in: query description: 'Conversation that the message is from. NOTE: this field will eventually be required.' required: false schema: type: string description: 'Conversation that the message is from. NOTE: this field will eventually be required.' example: example-convoId - name: messageId in: query required: true schema: type: string example: example-messageId - name: before in: query required: false schema: type: integer default: 5 example: 5 - name: after in: query required: false schema: type: integer default: 5 example: 5 responses: '200': description: OK content: application/json: schema: type: object required: - messages properties: messages: type: array items: oneOf: - $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' - $ref: '#/components/schemas/ChatBskyConvoDefsDeletedMessageView' examples: ChatModerationGetMessageContextResponse200Example: $ref: '#/components/examples/ChatModerationGetMessageContextResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/chat.bsky.moderation.updateActorAccess: post: operationId: chatModerationUpdateActorAccess summary: Bluesky Operation description: |- *This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (`did:web:api.bsky.chat`) in the service proxying header.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* tags: - Chat Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - actor - allowAccess properties: actor: type: string format: did allowAccess: type: boolean ref: type: string examples: ChatModerationUpdateActorAccessRequestExample: $ref: '#/components/examples/ChatModerationUpdateActorAccessRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.deleteAccount: post: operationId: adminDeleteAccount summary: Bluesky Delete a user account as an administrator. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete a user account as an administrator. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did properties: did: type: string format: did examples: AdminDeleteAccountRequestExample: $ref: '#/components/examples/AdminDeleteAccountRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.disableAccountInvites: post: operationId: adminDisableAccountInvites summary: Bluesky Disable an account from receiving new invite codes, but does not invalidate existing codes. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Disable an account from receiving new invite codes, but does not invalidate existing codes. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - account properties: account: type: string format: did note: type: string description: Optional reason for disabled invites. examples: AdminDisableAccountInvitesRequestExample: $ref: '#/components/examples/AdminDisableAccountInvitesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.disableInviteCodes: post: operationId: adminDisableInviteCodes summary: Bluesky Disable some set of codes and/or all codes associated with a set of users. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Disable some set of codes and/or all codes associated with a set of users. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object properties: codes: type: array items: type: string accounts: type: array items: type: string examples: AdminDisableInviteCodesRequestExample: $ref: '#/components/examples/AdminDisableInviteCodesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.enableAccountInvites: post: operationId: adminEnableAccountInvites summary: Bluesky Re-enable an account's ability to receive invite codes. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Re-enable an account's ability to receive invite codes. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - account properties: account: type: string format: did note: type: string description: Optional reason for enabled invites. examples: AdminEnableAccountInvitesRequestExample: $ref: '#/components/examples/AdminEnableAccountInvitesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.getAccountInfo: get: operationId: adminGetAccountInfo summary: Bluesky Get details about an account. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about an account. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query required: true schema: type: string format: did example: did:plc:example123abc responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ComAtprotoAdminDefsAccountView' examples: AdminGetAccountInfoResponse200Example: $ref: '#/components/examples/AdminGetAccountInfoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.getAccountInfos: get: operationId: adminGetAccountInfos summary: Bluesky Get details about some accounts. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about some accounts. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: dids in: query required: true schema: type: array items: type: string format: did example: - did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - infos properties: infos: type: array items: $ref: '#/components/schemas/ComAtprotoAdminDefsAccountView' examples: AdminGetAccountInfosResponse200Example: $ref: '#/components/examples/AdminGetAccountInfosResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.getInviteCodes: get: operationId: adminGetInviteCodes summary: Bluesky Get an admin view of invite codes. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get an admin view of invite codes. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: sort in: query required: false schema: type: string default: recent enum: - recent - usage example: recent - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 500 default: 100 example: 100 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - codes properties: cursor: type: string codes: type: array items: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' examples: AdminGetInviteCodesResponse200Example: $ref: '#/components/examples/AdminGetInviteCodesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.getSubjectStatus: get: operationId: adminGetSubjectStatus summary: Bluesky Get the service-specific admin status of a subject (account, record, or blob). description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get the service-specific admin status of a subject (account, record, or blob). tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query required: false schema: type: string format: did example: did:plc:example123abc - name: uri in: query required: false schema: type: string format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: blob in: query required: false schema: type: string format: cid example: bafyreiabc123example responses: '200': description: OK content: application/json: schema: type: object required: - subject properties: subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoBlobRef' takedown: $ref: '#/components/schemas/ComAtprotoAdminDefsStatusAttr' deactivated: $ref: '#/components/schemas/ComAtprotoAdminDefsStatusAttr' examples: AdminGetSubjectStatusResponse200Example: $ref: '#/components/examples/AdminGetSubjectStatusResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.searchAccounts: get: operationId: adminSearchAccounts summary: Bluesky Get list of accounts that matches your search query. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get list of accounts that matches your search query. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: email in: query required: false schema: type: string example: user@example.com - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 responses: '200': description: OK content: application/json: schema: type: object required: - accounts properties: cursor: type: string accounts: type: array items: $ref: '#/components/schemas/ComAtprotoAdminDefsAccountView' examples: AdminSearchAccountsResponse200Example: $ref: '#/components/examples/AdminSearchAccountsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.sendEmail: post: operationId: adminSendEmail summary: Bluesky Send email to a user's account email address. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Send email to a user's account email address. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - recipientDid - content - senderDid properties: recipientDid: type: string format: did content: type: string subject: type: string senderDid: type: string format: did comment: type: string description: Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers examples: AdminSendEmailRequestExample: $ref: '#/components/examples/AdminSendEmailRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - sent properties: sent: type: boolean examples: AdminSendEmailResponse200Example: $ref: '#/components/examples/AdminSendEmailResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.updateAccountEmail: post: operationId: adminUpdateAccountEmail summary: Bluesky Administrative action to update an account's email. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Administrative action to update an account's email. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - account - email properties: account: type: string description: The handle or DID of the repo. format: at-identifier email: type: string examples: AdminUpdateAccountEmailRequestExample: $ref: '#/components/examples/AdminUpdateAccountEmailRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.updateAccountHandle: post: operationId: adminUpdateAccountHandle summary: Bluesky Administrative action to update an account's handle. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Administrative action to update an account's handle. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did - handle properties: did: type: string format: did handle: type: string format: handle examples: AdminUpdateAccountHandleRequestExample: $ref: '#/components/examples/AdminUpdateAccountHandleRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.updateAccountPassword: post: operationId: adminUpdateAccountPassword summary: Bluesky Update the password for a user account as an administrator. description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Update the password for a user account as an administrator. tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did - password properties: did: type: string format: did password: type: string examples: AdminUpdateAccountPasswordRequestExample: $ref: '#/components/examples/AdminUpdateAccountPasswordRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.admin.updateSubjectStatus: post: operationId: adminUpdateSubjectStatus summary: Bluesky Update the service-specific admin status of a subject (account, record, or blob). description: |- *This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Update the service-specific admin status of a subject (account, record, or blob). tags: - Administration x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - subject properties: subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoBlobRef' takedown: $ref: '#/components/schemas/ComAtprotoAdminDefsStatusAttr' deactivated: $ref: '#/components/schemas/ComAtprotoAdminDefsStatusAttr' examples: AdminUpdateSubjectStatusRequestExample: $ref: '#/components/examples/AdminUpdateSubjectStatusRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - subject properties: subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoBlobRef' takedown: $ref: '#/components/schemas/ComAtprotoAdminDefsStatusAttr' examples: AdminUpdateSubjectStatusResponse200Example: $ref: '#/components/examples/AdminUpdateSubjectStatusResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.identity.getRecommendedDidCredentials: get: operationId: identityGetRecommendedDidCredentials summary: Bluesky Describe the credentials that should be included in the DID doc of an account that is migrating t... description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Describe the credentials that should be included in the DID doc of an account that is migrating to this service. tags: - Identity x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object properties: rotationKeys: type: array items: type: string alsoKnownAs: type: array items: type: string verificationMethods: {} services: {} examples: IdentityGetRecommendedDidCredentialsResponse200Example: $ref: '#/components/examples/IdentityGetRecommendedDidCredentialsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.identity.requestPlcOperationSignature: post: operationId: identityRequestPlcOperationSignature summary: Bluesky Request an email with a code to in order to request a signed PLC operation. description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Request an email with a code to in order to request a signed PLC operation. Requires Auth. tags: - Identity x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.identity.resolveHandle: get: operationId: identityResolveHandle summary: Bluesky Resolves a handle (domain name) to a DID. description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Resolves a handle (domain name) to a DID. tags: - Identity x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: handle in: query description: The handle to resolve. required: true schema: type: string description: The handle to resolve. format: handle example: user.bsky.social responses: '200': description: OK content: application/json: schema: type: object required: - did properties: did: type: string format: did examples: IdentityResolveHandleResponse200Example: $ref: '#/components/examples/IdentityResolveHandleResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.identity.signPlcOperation: post: operationId: identitySignPlcOperation summary: Bluesky Signs a PLC operation to update some value(s) in the requesting DID's document. description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Signs a PLC operation to update some value(s) in the requesting DID's document. tags: - Identity x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object properties: token: type: string description: A token received through com.atproto.identity.requestPlcOperationSignature rotationKeys: type: array items: type: string alsoKnownAs: type: array items: type: string verificationMethods: {} services: {} examples: IdentitySignPlcOperationRequestExample: $ref: '#/components/examples/IdentitySignPlcOperationRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - operation properties: operation: {} examples: IdentitySignPlcOperationResponse200Example: $ref: '#/components/examples/IdentitySignPlcOperationResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.identity.submitPlcOperation: post: operationId: identitySubmitPlcOperation summary: Bluesky Validates a PLC operation to ensure that it doesn't violate a service's constraints or get the id... description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Validates a PLC operation to ensure that it doesn't violate a service's constraints or get the identity into a bad state, then submits it to the PLC registry tags: - Identity x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - operation properties: operation: {} examples: IdentitySubmitPlcOperationRequestExample: $ref: '#/components/examples/IdentitySubmitPlcOperationRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.identity.updateHandle: post: operationId: identityUpdateHandle summary: Bluesky Updates the current account's handle. description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth. tags: - Identity x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - handle properties: handle: type: string description: The new handle. format: handle examples: IdentityUpdateHandleRequestExample: $ref: '#/components/examples/IdentityUpdateHandleRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.label.queryLabels: get: operationId: labelQueryLabels summary: Bluesky Find labels relevant to the provided AT-URI patterns. description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth. tags: - Labels x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uriPatterns in: query description: List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI. required: true schema: type: array items: type: string example: - example-uriPatterns - name: sources in: query description: Optional list of label sources (DIDs) to filter on. required: false schema: type: array items: type: string format: did example: - did:plc:example123abc - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 250 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - labels properties: cursor: type: string labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' examples: LabelQueryLabelsResponse200Example: $ref: '#/components/examples/LabelQueryLabelsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.moderation.createReport: post: operationId: moderationCreateReport summary: Bluesky Submit a moderation report regarding an atproto account or record. description: |- *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth. tags: - Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - reasonType - subject properties: reasonType: $ref: '#/components/schemas/ComAtprotoModerationDefsReasonType' reason: type: string description: Additional context about the content and violation. maxLength: 20000 subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' examples: ModerationCreateReportRequestExample: $ref: '#/components/examples/ModerationCreateReportRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - id - reasonType - subject - reportedBy - createdAt properties: id: type: integer reasonType: $ref: '#/components/schemas/ComAtprotoModerationDefsReasonType' reason: type: string maxLength: 20000 subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' reportedBy: type: string format: did createdAt: type: string format: date-time examples: ModerationCreateReportResponse200Example: $ref: '#/components/examples/ModerationCreateReportResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.applyWrites: post: operationId: repoApplyWrites summary: Bluesky Apply a batch transaction of repository creates, updates, and deletes. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - repo - writes properties: repo: type: string description: The handle or DID of the repo (aka, current account). format: at-identifier validate: type: boolean description: Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons. writes: type: array items: oneOf: - $ref: '#/components/schemas/ComAtprotoRepoApplyWritesCreate' - $ref: '#/components/schemas/ComAtprotoRepoApplyWritesUpdate' - $ref: '#/components/schemas/ComAtprotoRepoApplyWritesDelete' swapCommit: type: string description: If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations. format: cid examples: RepoApplyWritesRequestExample: $ref: '#/components/examples/RepoApplyWritesRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: [] properties: commit: $ref: '#/components/schemas/ComAtprotoRepoDefsCommitMeta' results: type: array items: oneOf: - $ref: '#/components/schemas/ComAtprotoRepoApplyWritesCreateResult' - $ref: '#/components/schemas/ComAtprotoRepoApplyWritesUpdateResult' - $ref: '#/components/schemas/ComAtprotoRepoApplyWritesDeleteResult' examples: RepoApplyWritesResponse200Example: $ref: '#/components/examples/RepoApplyWritesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - InvalidSwap message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.createRecord: post: operationId: repoCreateRecord summary: Bluesky Create a single new repository record. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create a single new repository record. Requires auth, implemented by PDS. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - repo - collection - record properties: repo: type: string description: The handle or DID of the repo (aka, current account). format: at-identifier collection: type: string description: The NSID of the record collection. format: nsid rkey: type: string description: The Record Key. maxLength: 512 validate: type: boolean description: Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons. record: {} swapCommit: type: string description: Compare and swap with the previous commit by CID. format: cid examples: RepoCreateRecordRequestExample: $ref: '#/components/examples/RepoCreateRecordRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - uri - cid properties: uri: type: string format: at-uri cid: type: string format: cid commit: $ref: '#/components/schemas/ComAtprotoRepoDefsCommitMeta' validationStatus: type: string enum: - valid - unknown examples: RepoCreateRecordResponse200Example: $ref: '#/components/examples/RepoCreateRecordResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - InvalidSwap message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.deleteRecord: post: operationId: repoDeleteRecord summary: Bluesky Delete a repository record, or ensure it doesn't exist. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - repo - collection - rkey properties: repo: type: string description: The handle or DID of the repo (aka, current account). format: at-identifier collection: type: string description: The NSID of the record collection. format: nsid rkey: type: string description: The Record Key. swapRecord: type: string description: Compare and swap with the previous record by CID. format: cid swapCommit: type: string description: Compare and swap with the previous commit by CID. format: cid examples: RepoDeleteRecordRequestExample: $ref: '#/components/examples/RepoDeleteRecordRequestExample' responses: '200': description: OK content: application/json: schema: type: object properties: commit: $ref: '#/components/schemas/ComAtprotoRepoDefsCommitMeta' examples: RepoDeleteRecordResponse200Example: $ref: '#/components/examples/RepoDeleteRecordResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - InvalidSwap message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.describeRepo: get: operationId: repoDescribeRepo summary: Bluesky Get information about an account and repository, including the list of collections. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get information about an account and repository, including the list of collections. Does not require auth. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: repo in: query description: The handle or DID of the repo. required: true schema: type: string description: The handle or DID of the repo. format: at-identifier example: user.bsky.social responses: '200': description: OK content: application/json: schema: type: object required: - handle - did - didDoc - collections - handleIsCorrect properties: handle: type: string format: handle did: type: string format: did didDoc: {} collections: type: array items: type: string format: nsid handleIsCorrect: type: boolean description: Indicates if handle is currently valid (resolves bi-directionally) examples: RepoDescribeRepoResponse200Example: $ref: '#/components/examples/RepoDescribeRepoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.getRecord: get: operationId: repoGetRecord summary: Bluesky Get a single record from a repository. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a single record from a repository. Does not require auth. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: repo in: query description: The handle or DID of the repo. required: true schema: type: string description: The handle or DID of the repo. format: at-identifier example: user.bsky.social - name: collection in: query description: The NSID of the record collection. required: true schema: type: string description: The NSID of the record collection. format: nsid example: app.bsky.feed.post - name: rkey in: query description: The Record Key. required: true schema: type: string description: The Record Key. example: example-rkey - name: cid in: query description: The CID of the version of the record. If not specified, then return the most recent version. required: false schema: type: string description: The CID of the version of the record. If not specified, then return the most recent version. format: cid example: bafyreiabc123example responses: '200': description: OK content: application/json: schema: type: object required: - uri - value properties: uri: type: string format: at-uri cid: type: string format: cid value: {} examples: RepoGetRecordResponse200Example: $ref: '#/components/examples/RepoGetRecordResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RecordNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.importRepo: post: operationId: repoImportRepo summary: Bluesky Import a repo in the form of a CAR file. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/vnd.ipld.car: {} responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.listMissingBlobs: get: operationId: repoListMissingBlobs summary: Bluesky Returns a list of missing blobs for the requesting account. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 1000 default: 500 example: 500 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - blobs properties: cursor: type: string blobs: type: array items: $ref: '#/components/schemas/ComAtprotoRepoListMissingBlobsRecordBlob' examples: RepoListMissingBlobsResponse200Example: $ref: '#/components/examples/RepoListMissingBlobsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.listRecords: get: operationId: repoListRecords summary: Bluesky List a range of records in a repository, matching a specific collection. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* List a range of records in a repository, matching a specific collection. Does not require auth. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: repo in: query description: The handle or DID of the repo. required: true schema: type: string description: The handle or DID of the repo. format: at-identifier example: user.bsky.social - name: collection in: query description: The NSID of the record type. required: true schema: type: string description: The NSID of the record type. format: nsid example: app.bsky.feed.post - name: limit in: query description: The number of records to return. required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: reverse in: query description: Flag to reverse the order of the returned records. required: false schema: type: boolean description: Flag to reverse the order of the returned records. example: true responses: '200': description: OK content: application/json: schema: type: object required: - records properties: cursor: type: string records: type: array items: $ref: '#/components/schemas/ComAtprotoRepoListRecordsRecord' examples: RepoListRecordsResponse200Example: $ref: '#/components/examples/RepoListRecordsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.putRecord: post: operationId: repoPutRecord summary: Bluesky Write a repository record, creating or updating it as needed. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - repo - collection - rkey - record properties: repo: type: string description: The handle or DID of the repo (aka, current account). format: at-identifier collection: type: string description: The NSID of the record collection. format: nsid rkey: type: string description: The Record Key. maxLength: 512 validate: type: boolean description: Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons. record: {} swapRecord: type: string description: 'Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation' format: cid swapCommit: type: string description: Compare and swap with the previous commit by CID. format: cid examples: RepoPutRecordRequestExample: $ref: '#/components/examples/RepoPutRecordRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - uri - cid properties: uri: type: string format: at-uri cid: type: string format: cid commit: $ref: '#/components/schemas/ComAtprotoRepoDefsCommitMeta' validationStatus: type: string enum: - valid - unknown examples: RepoPutRecordResponse200Example: $ref: '#/components/examples/RepoPutRecordResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - InvalidSwap message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.repo.uploadBlob: post: operationId: repoUploadBlob summary: Bluesky Upload a new blob, to be referenced from a repository record. description: |- *This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the `com.atproto.sync.*` endpoints), and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS. tags: - Repository x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: '*/*': {} responses: '200': description: OK content: application/json: schema: type: object required: - blob properties: blob: type: string format: binary examples: RepoUploadBlobResponse200Example: $ref: '#/components/examples/RepoUploadBlobResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.activateAccount: post: operationId: serverActivateAccount summary: Bluesky Activates a currently deactivated account. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Activates a currently deactivated account. Used to finalize account migration after the account's repo is imported and identity is setup. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.checkAccountStatus: get: operationId: serverCheckAccountStatus summary: Bluesky Returns the status of an account, especially as pertaining to import or recovery. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Returns the status of an account, especially as pertaining to import or recovery. Can be called many times over the course of an account migration. Requires auth and can only be called pertaining to oneself. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - activated - validDid - repoCommit - repoRev - repoBlocks - indexedRecords - privateStateValues - expectedBlobs - importedBlobs properties: activated: type: boolean validDid: type: boolean repoCommit: type: string format: cid repoRev: type: string repoBlocks: type: integer indexedRecords: type: integer privateStateValues: type: integer expectedBlobs: type: integer importedBlobs: type: integer examples: ServerCheckAccountStatusResponse200Example: $ref: '#/components/examples/ServerCheckAccountStatusResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.confirmEmail: post: operationId: serverConfirmEmail summary: Bluesky Confirm an email using a token from com.atproto.server.requestEmailConfirmation. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Confirm an email using a token from com.atproto.server.requestEmailConfirmation. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - email - token properties: email: type: string token: type: string examples: ServerConfirmEmailRequestExample: $ref: '#/components/examples/ServerConfirmEmailRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - AccountNotFound - ExpiredToken - InvalidToken - InvalidEmail message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.createAccount: post: operationId: serverCreateAccount summary: Bluesky Create an account. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create an account. Implemented by PDS. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - handle properties: email: type: string handle: type: string description: Requested handle for the account. format: handle did: type: string description: Pre-existing atproto DID, being imported to a new account. format: did inviteCode: type: string verificationCode: type: string verificationPhone: type: string password: type: string description: Initial account password. May need to meet instance-specific password strength requirements. recoveryKey: type: string description: DID PLC rotation key (aka, recovery key) to be included in PLC creation operation. plcOp: {} examples: ServerCreateAccountRequestExample: $ref: '#/components/examples/ServerCreateAccountRequestExample' responses: '200': description: OK content: application/json: schema: type: object description: Account login session returned on successful account creation. required: - accessJwt - refreshJwt - handle - did properties: accessJwt: type: string refreshJwt: type: string handle: type: string format: handle did: type: string description: The DID of the new account. format: did didDoc: {} examples: ServerCreateAccountResponse200Example: $ref: '#/components/examples/ServerCreateAccountResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - InvalidHandle - InvalidPassword - InvalidInviteCode - HandleNotAvailable - UnsupportedDomain - UnresolvableDid - IncompatibleDidDoc message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.createAppPassword: post: operationId: serverCreateAppPassword summary: Bluesky Create an App Password. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create an App Password. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string description: A short name for the App Password, to help distinguish them. privileged: type: boolean description: If an app password has 'privileged' access to possibly sensitive account state. Meant for use with trusted clients. examples: ServerCreateAppPasswordRequestExample: $ref: '#/components/examples/ServerCreateAppPasswordRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ComAtprotoServerCreateAppPasswordAppPassword' examples: ServerCreateAppPasswordResponse200Example: $ref: '#/components/examples/ServerCreateAppPasswordResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - AccountTakedown message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.createInviteCode: post: operationId: serverCreateInviteCode summary: Bluesky Create an invite code. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create an invite code. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - useCount properties: useCount: type: integer forAccount: type: string format: did examples: ServerCreateInviteCodeRequestExample: $ref: '#/components/examples/ServerCreateInviteCodeRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - code properties: code: type: string examples: ServerCreateInviteCodeResponse200Example: $ref: '#/components/examples/ServerCreateInviteCodeResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.createInviteCodes: post: operationId: serverCreateInviteCodes summary: Bluesky Create invite codes. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create invite codes. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - codeCount - useCount properties: codeCount: type: integer default: 1 useCount: type: integer forAccounts: type: array items: type: string format: did examples: ServerCreateInviteCodesRequestExample: $ref: '#/components/examples/ServerCreateInviteCodesRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - codes properties: codes: type: array items: $ref: '#/components/schemas/ComAtprotoServerCreateInviteCodesAccountCodes' examples: ServerCreateInviteCodesResponse200Example: $ref: '#/components/examples/ServerCreateInviteCodesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.createSession: post: operationId: serverCreateSession summary: Bluesky Create an authentication session. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create an authentication session. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - identifier - password properties: identifier: type: string description: Handle or other identifier supported by the server for the authenticating user. password: type: string authFactorToken: type: string examples: ServerCreateSessionRequestExample: $ref: '#/components/examples/ServerCreateSessionRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - accessJwt - refreshJwt - handle - did properties: accessJwt: type: string refreshJwt: type: string handle: type: string format: handle did: type: string format: did didDoc: {} email: type: string emailConfirmed: type: boolean emailAuthFactor: type: boolean active: type: boolean status: type: string description: If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted. enum: - takendown - suspended - deactivated examples: ServerCreateSessionResponse200Example: $ref: '#/components/examples/ServerCreateSessionResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - AccountTakedown - AuthFactorTokenRequired message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.deactivateAccount: post: operationId: serverDeactivateAccount summary: Bluesky Deactivates a currently active account. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Deactivates a currently active account. Stops serving of repo, and future writes to repo until reactivated. Used to finalize account migration with the old host after the account has been activated on the new host. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object properties: deleteAfter: type: string description: A recommendation to server as to how long they should hold onto the deactivated account before deleting. format: date-time examples: ServerDeactivateAccountRequestExample: $ref: '#/components/examples/ServerDeactivateAccountRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.deleteAccount: post: operationId: serverDeleteAccount summary: Bluesky Delete an actor's account with a token and password. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete an actor's account with a token and password. Can only be called after requesting a deletion token. Requires auth. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did - password - token properties: did: type: string format: did password: type: string token: type: string examples: ServerDeleteAccountRequestExample: $ref: '#/components/examples/ServerDeleteAccountRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.deleteSession: post: operationId: serverDeleteSession summary: Bluesky Delete the current session. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete the current session. Requires auth. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.describeServer: get: operationId: serverDescribeServer summary: Bluesky Describes the server's account creation requirements and capabilities. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Describes the server's account creation requirements and capabilities. Implemented by PDS. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - did - availableUserDomains properties: inviteCodeRequired: type: boolean description: If true, an invite code must be supplied to create an account on this instance. phoneVerificationRequired: type: boolean description: If true, a phone verification token must be supplied to create an account on this instance. availableUserDomains: type: array items: type: string links: $ref: '#/components/schemas/ComAtprotoServerDescribeServerLinks' contact: $ref: '#/components/schemas/ComAtprotoServerDescribeServerContact' did: type: string format: did examples: ServerDescribeServerResponse200Example: $ref: '#/components/examples/ServerDescribeServerResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.getAccountInviteCodes: get: operationId: serverGetAccountInviteCodes summary: Bluesky Get all invite codes for the current account. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get all invite codes for the current account. Requires auth. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: includeUsed in: query required: false schema: type: boolean default: true example: true - name: createAvailable in: query description: Controls whether any new 'earned' but not 'created' invites should be created. required: false schema: type: boolean description: Controls whether any new 'earned' but not 'created' invites should be created. default: true example: true responses: '200': description: OK content: application/json: schema: type: object required: - codes properties: codes: type: array items: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' examples: ServerGetAccountInviteCodesResponse200Example: $ref: '#/components/examples/ServerGetAccountInviteCodesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - DuplicateCreate message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.getServiceAuth: get: operationId: serverGetServiceAuth summary: Bluesky Get a signed token on behalf of the requesting DID for the requested service. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a signed token on behalf of the requesting DID for the requested service. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: aud in: query description: The DID of the service that the token will be used to authenticate with required: true schema: type: string description: The DID of the service that the token will be used to authenticate with format: did example: did:plc:example123abc - name: exp in: query description: The time in Unix Epoch seconds that the JWT expires. Defaults to 60 seconds in the future. The service may enforce certain time bounds on tokens depending on the requested scope. required: false schema: type: integer example: 50 - name: lxm in: query description: Lexicon (XRPC) method to bind the requested token to required: false schema: type: string description: Lexicon (XRPC) method to bind the requested token to format: nsid example: app.bsky.feed.post responses: '200': description: OK content: application/json: schema: type: object required: - token properties: token: type: string examples: ServerGetServiceAuthResponse200Example: $ref: '#/components/examples/ServerGetServiceAuthResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - BadExpiration message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.getSession: get: operationId: serverGetSession summary: Bluesky Get information about the current auth session. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get information about the current auth session. Requires auth. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - handle - did properties: handle: type: string format: handle did: type: string format: did email: type: string emailConfirmed: type: boolean emailAuthFactor: type: boolean didDoc: {} active: type: boolean status: type: string description: If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted. enum: - takendown - suspended - deactivated examples: ServerGetSessionResponse200Example: $ref: '#/components/examples/ServerGetSessionResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.listAppPasswords: get: operationId: serverListAppPasswords summary: Bluesky List all App Passwords. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* List all App Passwords. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - passwords properties: passwords: type: array items: $ref: '#/components/schemas/ComAtprotoServerListAppPasswordsAppPassword' examples: ServerListAppPasswordsResponse200Example: $ref: '#/components/examples/ServerListAppPasswordsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - AccountTakedown message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.refreshSession: post: operationId: serverRefreshSession summary: Bluesky Refresh an authentication session. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt'). tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - accessJwt - refreshJwt - handle - did properties: accessJwt: type: string refreshJwt: type: string handle: type: string format: handle did: type: string format: did didDoc: {} active: type: boolean status: type: string description: Hosting status of the account. If not specified, then assume 'active'. enum: - takendown - suspended - deactivated examples: ServerRefreshSessionResponse200Example: $ref: '#/components/examples/ServerRefreshSessionResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - AccountTakedown message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.requestAccountDelete: post: operationId: serverRequestAccountDelete summary: Bluesky Initiate a user account deletion via email. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Initiate a user account deletion via email. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.requestEmailConfirmation: post: operationId: serverRequestEmailConfirmation summary: Bluesky Request an email with a code to confirm ownership of email. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Request an email with a code to confirm ownership of email. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.requestEmailUpdate: post: operationId: serverRequestEmailUpdate summary: Bluesky Request a token in order to update email. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Request a token in order to update email. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - tokenRequired properties: tokenRequired: type: boolean examples: ServerRequestEmailUpdateResponse200Example: $ref: '#/components/examples/ServerRequestEmailUpdateResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.requestPasswordReset: post: operationId: serverRequestPasswordReset summary: Bluesky Initiate a user account password reset via email. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Initiate a user account password reset via email. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - email properties: email: type: string examples: ServerRequestPasswordResetRequestExample: $ref: '#/components/examples/ServerRequestPasswordResetRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.reserveSigningKey: post: operationId: serverReserveSigningKey summary: Bluesky Reserve a repo signing key, for use with account creation. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Reserve a repo signing key, for use with account creation. Necessary so that a DID PLC update operation can be constructed during an account migraiton. Public and does not require auth; implemented by PDS. NOTE: this endpoint may change when full account migration is implemented. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object properties: did: type: string description: The DID to reserve a key for. format: did examples: ServerReserveSigningKeyRequestExample: $ref: '#/components/examples/ServerReserveSigningKeyRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - signingKey properties: signingKey: type: string description: The public key for the reserved signing key, in did:key serialization. examples: ServerReserveSigningKeyResponse200Example: $ref: '#/components/examples/ServerReserveSigningKeyResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.resetPassword: post: operationId: serverResetPassword summary: Bluesky Reset a user account password using a token. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Reset a user account password using a token. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - token - password properties: token: type: string password: type: string examples: ServerResetPasswordRequestExample: $ref: '#/components/examples/ServerResetPasswordRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.revokeAppPassword: post: operationId: serverRevokeAppPassword summary: Bluesky Revoke an App Password by name. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Revoke an App Password by name. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string examples: ServerRevokeAppPasswordRequestExample: $ref: '#/components/examples/ServerRevokeAppPasswordRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.server.updateEmail: post: operationId: serverUpdateEmail summary: Bluesky Update an account's email. description: |- *This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Update an account's email. tags: - Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - email properties: email: type: string emailAuthFactor: type: boolean token: type: string description: Requires a token from com.atproto.sever.requestEmailUpdate if the account's email has been confirmed. examples: ServerUpdateEmailRequestExample: $ref: '#/components/examples/ServerUpdateEmailRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - ExpiredToken - InvalidToken - TokenRequired message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.getBlob: get: operationId: syncGetBlob summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the account. required: true schema: type: string description: The DID of the account. format: did example: did:plc:example123abc - name: cid in: query description: The CID of the blob to fetch required: true schema: type: string description: The CID of the blob to fetch format: cid example: bafyreiabc123example responses: '200': description: OK content: '*/*': {} '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - BlobNotFound - RepoNotFound - RepoTakendown - RepoSuspended - RepoDeactivated message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.getBlocks: get: operationId: syncGetBlocks summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the repo. required: true schema: type: string description: The DID of the repo. format: did example: did:plc:example123abc - name: cids in: query required: true schema: type: array items: type: string format: cid example: - bafyreiabc123example responses: '200': description: OK content: application/vnd.ipld.car: {} '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - BlockNotFound - RepoNotFound - RepoTakendown - RepoSuspended - RepoDeactivated message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.getLatestCommit: get: operationId: syncGetLatestCommit summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get the current commit CID & revision of the specified repo. Does not require auth. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the repo. required: true schema: type: string description: The DID of the repo. format: did example: did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - cid - rev properties: cid: type: string format: cid rev: type: string examples: SyncGetLatestCommitResponse200Example: $ref: '#/components/examples/SyncGetLatestCommitResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RepoNotFound - RepoTakendown - RepoSuspended - RepoDeactivated message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.getRecord: get: operationId: syncGetRecord summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the repo. required: true schema: type: string description: The DID of the repo. format: did example: did:plc:example123abc - name: collection in: query required: true schema: type: string format: nsid example: app.bsky.feed.post - name: rkey in: query description: Record Key required: true schema: type: string description: Record Key example: example-rkey responses: '200': description: OK content: application/vnd.ipld.car: {} '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RecordNotFound - RepoNotFound - RepoTakendown - RepoSuspended - RepoDeactivated message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.getRepo: get: operationId: syncGetRepo summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Download a repository export as CAR file. Optionally only a 'diff' since a previous revision. Does not require auth; implemented by PDS. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the repo. required: true schema: type: string description: The DID of the repo. format: did example: did:plc:example123abc - name: since in: query description: The revision ('rev') of the repo to create a diff from. required: false schema: type: string description: The revision ('rev') of the repo to create a diff from. example: example-since responses: '200': description: OK content: application/vnd.ipld.car: {} '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RepoNotFound - RepoTakendown - RepoSuspended - RepoDeactivated message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.getRepoStatus: get: operationId: syncGetRepoStatus summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get the hosting status for a repository, on this server. Expected to be implemented by PDS and Relay. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the repo. required: true schema: type: string description: The DID of the repo. format: did example: did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - did - active properties: did: type: string format: did active: type: boolean status: type: string description: If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted. enum: - takendown - suspended - deactivated rev: type: string description: Optional field, the current rev of the repo, if active=true examples: SyncGetRepoStatusResponse200Example: $ref: '#/components/examples/SyncGetRepoStatusResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RepoNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.listBlobs: get: operationId: syncListBlobs summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* List blob CIDs for an account, since some repo revision. Does not require auth; implemented by PDS. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query description: The DID of the repo. required: true schema: type: string description: The DID of the repo. format: did example: did:plc:example123abc - name: since in: query description: Optional revision of the repo to list blobs since. required: false schema: type: string description: Optional revision of the repo to list blobs since. example: example-since - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 1000 default: 500 example: 500 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - cids properties: cursor: type: string cids: type: array items: type: string format: cid examples: SyncListBlobsResponse200Example: $ref: '#/components/examples/SyncListBlobsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RepoNotFound - RepoTakendown - RepoSuspended - RepoDeactivated message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.listRepos: get: operationId: syncListRepos summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Enumerates all the DID, rev, and commit CID for all repos hosted by this service. Does not require auth; implemented by PDS and Relay. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 1000 default: 500 example: 500 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - repos properties: cursor: type: string repos: type: array items: $ref: '#/components/schemas/ComAtprotoSyncListReposRepo' examples: SyncListReposResponse200Example: $ref: '#/components/examples/SyncListReposResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.notifyOfUpdate: post: operationId: syncNotifyOfUpdate summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Notify a crawling service of a recent update, and that crawling should resume. Intended use is after a gap between repo stream events caused the crawling service to disconnect. Does not require auth; implemented by Relay. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - hostname properties: hostname: type: string description: Hostname of the current service (usually a PDS) that is notifying of update. examples: SyncNotifyOfUpdateRequestExample: $ref: '#/components/examples/SyncNotifyOfUpdateRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/com.atproto.sync.requestCrawl: post: operationId: syncRequestCrawl summary: Bluesky This endpoint is part of the atproto repository synchronization APIs. description: |- This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Request a service to persistently crawl hosted repos. Expected use is new PDS instances declaring their existence to Relays. Does not require auth. tags: - Sync x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - hostname properties: hostname: type: string description: Hostname of the current service (eg, PDS) that is requesting to be crawled. examples: SyncRequestCrawlRequestExample: $ref: '#/components/examples/SyncRequestCrawlRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.communication.createTemplate: post: operationId: ozoneCommunicationCreateTemplate summary: Bluesky Administrative action to create a new, re-usable communication (email for now) template. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Administrative action to create a new, re-usable communication (email for now) template. tags: - Ozone Communication x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - subject - contentMarkdown - name properties: name: type: string description: Name of the template. contentMarkdown: type: string description: Content of the template, markdown supported, can contain variable placeholders. subject: type: string description: Subject of the message, used in emails. lang: type: string description: Message language. format: language createdBy: type: string description: DID of the user who is creating the template. format: did examples: OzoneCommunicationCreateTemplateRequestExample: $ref: '#/components/examples/OzoneCommunicationCreateTemplateRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneCommunicationDefsTemplateView' examples: OzoneCommunicationCreateTemplateResponse200Example: $ref: '#/components/examples/OzoneCommunicationCreateTemplateResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - DuplicateTemplateName message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.communication.deleteTemplate: post: operationId: ozoneCommunicationDeleteTemplate summary: Bluesky Delete a communication template. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete a communication template. tags: - Ozone Communication x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - id properties: id: type: string examples: OzoneCommunicationDeleteTemplateRequestExample: $ref: '#/components/examples/OzoneCommunicationDeleteTemplateRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.communication.listTemplates: get: operationId: ozoneCommunicationListTemplates summary: Bluesky Get list of all communication templates. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get list of all communication templates. tags: - Ozone Communication x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object required: - communicationTemplates properties: communicationTemplates: type: array items: $ref: '#/components/schemas/ToolsOzoneCommunicationDefsTemplateView' examples: OzoneCommunicationListTemplatesResponse200Example: $ref: '#/components/examples/OzoneCommunicationListTemplatesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.communication.updateTemplate: post: operationId: ozoneCommunicationUpdateTemplate summary: Bluesky Administrative action to update an existing communication template. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Administrative action to update an existing communication template. Allows passing partial fields to patch specific fields only. tags: - Ozone Communication x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - id properties: id: type: string description: ID of the template to be updated. name: type: string description: Name of the template. lang: type: string description: Message language. format: language contentMarkdown: type: string description: Content of the template, markdown supported, can contain variable placeholders. subject: type: string description: Subject of the message, used in emails. updatedBy: type: string description: DID of the user who is updating the template. format: did disabled: type: boolean examples: OzoneCommunicationUpdateTemplateRequestExample: $ref: '#/components/examples/OzoneCommunicationUpdateTemplateRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneCommunicationDefsTemplateView' examples: OzoneCommunicationUpdateTemplateResponse200Example: $ref: '#/components/examples/OzoneCommunicationUpdateTemplateResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - DuplicateTemplateName message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.emitEvent: post: operationId: ozoneModerationEmitEvent summary: Bluesky Take a moderation action on an actor. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Take a moderation action on an actor. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - event - subject - createdBy properties: event: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventTakedown' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventAcknowledge' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventEscalate' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventComment' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventLabel' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventReport' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventMute' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventUnmute' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventMuteReporter' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventUnmuteReporter' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventReverseTakedown' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventResolveAppeal' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventEmail' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventTag' - $ref: '#/components/schemas/ToolsOzoneModerationDefsAccountEvent' - $ref: '#/components/schemas/ToolsOzoneModerationDefsIdentityEvent' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordEvent' subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' subjectBlobCids: type: array items: type: string format: cid createdBy: type: string format: did examples: OzoneModerationEmitEventRequestExample: $ref: '#/components/examples/OzoneModerationEmitEventRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventView' examples: OzoneModerationEmitEventResponse200Example: $ref: '#/components/examples/OzoneModerationEmitEventResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - SubjectHasAction message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.getEvent: get: operationId: ozoneModerationGetEvent summary: Bluesky Get details about a moderation event. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about a moderation event. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: id in: query required: true schema: type: integer example: 50 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventViewDetail' examples: OzoneModerationGetEventResponse200Example: $ref: '#/components/examples/OzoneModerationGetEventResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.getRecord: get: operationId: ozoneModerationGetRecord summary: Bluesky Get details about a record. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about a record. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uri in: query required: true schema: type: string format: at-uri example: at://did:plc:example123/app.bsky.feed.post/abc123 - name: cid in: query required: false schema: type: string format: cid example: bafyreiabc123example responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordViewDetail' examples: OzoneModerationGetRecordResponse200Example: $ref: '#/components/examples/OzoneModerationGetRecordResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RecordNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.getRecords: get: operationId: ozoneModerationGetRecords summary: Bluesky Get details about some records. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about some records. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: uris in: query required: true schema: type: array items: type: string format: at-uri maxItems: 100 example: - at://did:plc:example123/app.bsky.feed.post/abc123 responses: '200': description: OK content: application/json: schema: type: object required: - records properties: records: type: array items: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordViewDetail' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordViewNotFound' examples: OzoneModerationGetRecordsResponse200Example: $ref: '#/components/examples/OzoneModerationGetRecordsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.getRepo: get: operationId: ozoneModerationGetRepo summary: Bluesky Get details about a repository. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about a repository. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query required: true schema: type: string format: did example: did:plc:example123abc responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoViewDetail' examples: OzoneModerationGetRepoResponse200Example: $ref: '#/components/examples/OzoneModerationGetRepoResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - RepoNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.getRepos: get: operationId: ozoneModerationGetRepos summary: Bluesky Get details about some repositories. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about some repositories. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: dids in: query required: true schema: type: array items: type: string format: did maxItems: 100 example: - did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - repos properties: repos: type: array items: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoViewDetail' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoViewNotFound' examples: OzoneModerationGetReposResponse200Example: $ref: '#/components/examples/OzoneModerationGetReposResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.queryEvents: get: operationId: ozoneModerationQueryEvents summary: Bluesky List moderation events related to a subject. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* List moderation events related to a subject. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: types in: query description: The types of events (fully qualified string in the format of tools.ozone.moderation.defs#modEvent) to filter by. If not specified, all events are returned. required: false schema: type: array items: type: string example: - example-types - name: createdBy in: query required: false schema: type: string format: did example: did:plc:example123abc - name: sortDirection in: query description: Sort direction for the events. Defaults to descending order of created at timestamp. required: false schema: type: string description: Sort direction for the events. Defaults to descending order of created at timestamp. default: desc example: example-sortDirection - name: createdAfter in: query description: Retrieve events created after a given timestamp required: false schema: type: string description: Retrieve events created after a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: createdBefore in: query description: Retrieve events created before a given timestamp required: false schema: type: string description: Retrieve events created before a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: subject in: query required: false schema: type: string format: uri example: https://example.com/resource - name: collections in: query description: If specified, only events where the subject belongs to the given collections will be returned. When subjectType is set to 'account', this will be ignored. required: false schema: type: array items: type: string format: nsid maxItems: 20 example: - app.bsky.feed.post - name: subjectType in: query description: If specified, only events where the subject is of the given type (account or record) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored. required: false schema: type: string description: If specified, only events where the subject is of the given type (account or record) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored. enum: - account - record example: account - name: includeAllUserRecords in: query description: If true, events on all record types (posts, lists, profile etc.) or records from given 'collections' param, owned by the did are returned. required: false schema: type: boolean description: If true, events on all record types (posts, lists, profile etc.) or records from given 'collections' param, owned by the did are returned. example: true - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: hasComment in: query description: If true, only events with comments are returned required: false schema: type: boolean description: If true, only events with comments are returned example: true - name: comment in: query description: If specified, only events with comments containing the keyword are returned required: false schema: type: string description: If specified, only events with comments containing the keyword are returned example: example-comment - name: addedLabels in: query description: If specified, only events where all of these labels were added are returned required: false schema: type: array items: type: string example: - example-addedLabels - name: removedLabels in: query description: If specified, only events where all of these labels were removed are returned required: false schema: type: array items: type: string example: - example-removedLabels - name: addedTags in: query description: If specified, only events where all of these tags were added are returned required: false schema: type: array items: type: string example: - example-addedTags - name: removedTags in: query description: If specified, only events where all of these tags were removed are returned required: false schema: type: array items: type: string example: - example-removedTags - name: reportTypes in: query required: false schema: type: array items: type: string example: - example-reportTypes - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - events properties: cursor: type: string events: type: array items: $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventView' examples: OzoneModerationQueryEventsResponse200Example: $ref: '#/components/examples/OzoneModerationQueryEventsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.queryStatuses: get: operationId: ozoneModerationQueryStatuses summary: Bluesky View moderation statuses of subjects (record or repo). description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* View moderation statuses of subjects (record or repo). tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: includeAllUserRecords in: query description: All subjects, or subjects from given 'collections' param, belonging to the account specified in the 'subject' param will be returned. required: false schema: type: boolean description: All subjects, or subjects from given 'collections' param, belonging to the account specified in the 'subject' param will be returned. example: true - name: subject in: query description: The subject to get the status for. required: false schema: type: string description: The subject to get the status for. format: uri example: https://example.com/resource - name: comment in: query description: Search subjects by keyword from comments required: false schema: type: string description: Search subjects by keyword from comments example: example-comment - name: reportedAfter in: query description: Search subjects reported after a given timestamp required: false schema: type: string description: Search subjects reported after a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: reportedBefore in: query description: Search subjects reported before a given timestamp required: false schema: type: string description: Search subjects reported before a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: reviewedAfter in: query description: Search subjects reviewed after a given timestamp required: false schema: type: string description: Search subjects reviewed after a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: hostingDeletedAfter in: query description: Search subjects where the associated record/account was deleted after a given timestamp required: false schema: type: string description: Search subjects where the associated record/account was deleted after a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: hostingDeletedBefore in: query description: Search subjects where the associated record/account was deleted before a given timestamp required: false schema: type: string description: Search subjects where the associated record/account was deleted before a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: hostingUpdatedAfter in: query description: Search subjects where the associated record/account was updated after a given timestamp required: false schema: type: string description: Search subjects where the associated record/account was updated after a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: hostingUpdatedBefore in: query description: Search subjects where the associated record/account was updated before a given timestamp required: false schema: type: string description: Search subjects where the associated record/account was updated before a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: hostingStatuses in: query description: Search subjects by the status of the associated record/account required: false schema: type: array items: type: string example: - example-hostingStatuses - name: reviewedBefore in: query description: Search subjects reviewed before a given timestamp required: false schema: type: string description: Search subjects reviewed before a given timestamp format: date-time example: '2024-01-15T12:00:00.000Z' - name: includeMuted in: query description: By default, we don't include muted subjects in the results. Set this to true to include them. required: false schema: type: boolean description: By default, we don't include muted subjects in the results. Set this to true to include them. example: true - name: onlyMuted in: query description: When set to true, only muted subjects and reporters will be returned. required: false schema: type: boolean description: When set to true, only muted subjects and reporters will be returned. example: true - name: reviewState in: query description: Specify when fetching subjects in a certain state required: false schema: type: string description: Specify when fetching subjects in a certain state example: example-reviewState - name: ignoreSubjects in: query required: false schema: type: array items: type: string format: uri example: - https://example.com/resource - name: lastReviewedBy in: query description: Get all subject statuses that were reviewed by a specific moderator required: false schema: type: string description: Get all subject statuses that were reviewed by a specific moderator format: did example: did:plc:example123abc - name: sortField in: query required: false schema: type: string default: lastReportedAt example: example-sortField - name: sortDirection in: query required: false schema: type: string default: desc example: example-sortDirection - name: takendown in: query description: Get subjects that were taken down required: false schema: type: boolean description: Get subjects that were taken down example: true - name: appealed in: query description: Get subjects in unresolved appealed status required: false schema: type: boolean description: Get subjects in unresolved appealed status example: true - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: tags in: query required: false schema: type: array items: type: string example: - example-tags - name: excludeTags in: query required: false schema: type: array items: type: string example: - example-excludeTags - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: collections in: query description: If specified, subjects belonging to the given collections will be returned. When subjectType is set to 'account', this will be ignored. required: false schema: type: array items: type: string format: nsid maxItems: 20 example: - app.bsky.feed.post - name: subjectType in: query description: If specified, subjects of the given type (account or record) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored. required: false schema: type: string description: If specified, subjects of the given type (account or record) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored. enum: - account - record example: account responses: '200': description: OK content: application/json: schema: type: object required: - subjectStatuses properties: cursor: type: string subjectStatuses: type: array items: $ref: '#/components/schemas/ToolsOzoneModerationDefsSubjectStatusView' examples: OzoneModerationQueryStatusesResponse200Example: $ref: '#/components/examples/OzoneModerationQueryStatusesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.moderation.searchRepos: get: operationId: ozoneModerationSearchRepos summary: Bluesky Find repositories based on a search term. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Find repositories based on a search term. tags: - Ozone Moderation x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: q in: query required: false schema: type: string example: example-q - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - repos properties: cursor: type: string repos: type: array items: $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoView' examples: OzoneModerationSearchReposResponse200Example: $ref: '#/components/examples/OzoneModerationSearchReposResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.server.getConfig: get: operationId: ozoneServerGetConfig summary: Bluesky Get details about ozone's server configuration. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get details about ozone's server configuration. tags: - Ozone Server x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] responses: '200': description: OK content: application/json: schema: type: object properties: appview: $ref: '#/components/schemas/ToolsOzoneServerGetConfigServiceConfig' pds: $ref: '#/components/schemas/ToolsOzoneServerGetConfigServiceConfig' blobDivert: $ref: '#/components/schemas/ToolsOzoneServerGetConfigServiceConfig' chat: $ref: '#/components/schemas/ToolsOzoneServerGetConfigServiceConfig' viewer: $ref: '#/components/schemas/ToolsOzoneServerGetConfigViewerConfig' examples: OzoneServerGetConfigResponse200Example: $ref: '#/components/examples/OzoneServerGetConfigResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.set.addValues: post: operationId: ozoneSetAddValues summary: Bluesky Add values to a specific set. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Add values to a specific set. Attempting to add values to a set that does not exist will result in an error. tags: - Ozone Sets x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - name - values properties: name: type: string description: Name of the set to add values to values: type: array items: type: string maxItems: 1000 examples: OzoneSetAddValuesRequestExample: $ref: '#/components/examples/OzoneSetAddValuesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.set.deleteSet: post: operationId: ozoneSetDeleteSet summary: Bluesky Delete an entire set. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete an entire set. Attempting to delete a set that does not exist will result in an error. tags: - Ozone Sets x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string description: Name of the set to delete examples: OzoneSetDeleteSetRequestExample: $ref: '#/components/examples/OzoneSetDeleteSetRequestExample' responses: '200': description: OK content: application/json: schema: type: object properties: _unknown_: type: object properties: {} examples: OzoneSetDeleteSetResponse200Example: $ref: '#/components/examples/OzoneSetDeleteSetResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - SetNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.set.deleteValues: post: operationId: ozoneSetDeleteValues summary: Bluesky Delete values from a specific set. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete values from a specific set. Attempting to delete values that are not in the set will not result in an error tags: - Ozone Sets x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - name - values properties: name: type: string description: Name of the set to delete values from values: type: array items: type: string examples: OzoneSetDeleteValuesRequestExample: $ref: '#/components/examples/OzoneSetDeleteValuesRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - SetNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.set.getValues: get: operationId: ozoneSetGetValues summary: Bluesky Get a specific set and its values description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get a specific set and its values tags: - Ozone Sets x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: name in: query required: true schema: type: string example: Example Name - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 1000 default: 100 example: 100 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - set - values properties: set: $ref: '#/components/schemas/ToolsOzoneSetDefsSetView' values: type: array items: type: string cursor: type: string examples: OzoneSetGetValuesResponse200Example: $ref: '#/components/examples/OzoneSetGetValuesResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - SetNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.set.querySets: get: operationId: ozoneSetQuerySets summary: Bluesky Query available sets description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Query available sets tags: - Ozone Sets x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: namePrefix in: query required: false schema: type: string example: Example Name - name: sortBy in: query required: false schema: type: string default: name example: example-sortBy - name: sortDirection in: query description: Defaults to ascending order of name field. required: false schema: type: string description: Defaults to ascending order of name field. default: asc example: example-sortDirection responses: '200': description: OK content: application/json: schema: type: object required: - sets properties: sets: type: array items: $ref: '#/components/schemas/ToolsOzoneSetDefsSetView' cursor: type: string examples: OzoneSetQuerySetsResponse200Example: $ref: '#/components/examples/OzoneSetQuerySetsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.set.upsertSet: post: operationId: ozoneSetUpsertSet summary: Bluesky Create or update set metadata description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create or update set metadata tags: - Ozone Sets x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneSetDefsSet' examples: OzoneSetUpsertSetRequestExample: $ref: '#/components/examples/OzoneSetUpsertSetRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneSetDefsSetView' examples: OzoneSetUpsertSetResponse200Example: $ref: '#/components/examples/OzoneSetUpsertSetResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.setting.listOptions: get: operationId: ozoneSettingListOptions summary: Bluesky List settings with optional filtering description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* List settings with optional filtering tags: - Ozone Settings x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: scope in: query required: false schema: type: string default: instance enum: - instance - personal example: instance - name: prefix in: query description: Filter keys by prefix required: false schema: type: string description: Filter keys by prefix example: example-prefix - name: keys in: query description: Filter for only the specified keys. Ignored if prefix is provided required: false schema: type: array items: type: string format: nsid maxItems: 100 example: - app.bsky.feed.post responses: '200': description: OK content: application/json: schema: type: object required: - options properties: cursor: type: string options: type: array items: $ref: '#/components/schemas/ToolsOzoneSettingDefsOption' examples: OzoneSettingListOptionsResponse200Example: $ref: '#/components/examples/OzoneSettingListOptionsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.setting.removeOptions: post: operationId: ozoneSettingRemoveOptions summary: Bluesky Delete settings by key description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete settings by key tags: - Ozone Settings x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - keys - scope properties: keys: type: array items: type: string format: nsid maxItems: 200 scope: type: string enum: - instance - personal examples: OzoneSettingRemoveOptionsRequestExample: $ref: '#/components/examples/OzoneSettingRemoveOptionsRequestExample' responses: '200': description: OK content: application/json: schema: type: object properties: {} '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.setting.upsertOption: post: operationId: ozoneSettingUpsertOption summary: Bluesky Create or update setting option description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Create or update setting option tags: - Ozone Settings x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - key - scope - value properties: key: type: string format: nsid scope: type: string enum: - instance - personal value: {} description: type: string maxLength: 2000 managerRole: type: string enum: - tools.ozone.team.defs#roleModerator - tools.ozone.team.defs#roleTriage - tools.ozone.team.defs#roleAdmin examples: OzoneSettingUpsertOptionRequestExample: $ref: '#/components/examples/OzoneSettingUpsertOptionRequestExample' responses: '200': description: OK content: application/json: schema: type: object required: - option properties: option: $ref: '#/components/schemas/ToolsOzoneSettingDefsOption' examples: OzoneSettingUpsertOptionResponse200Example: $ref: '#/components/examples/OzoneSettingUpsertOptionResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.signature.findCorrelation: get: operationId: ozoneSignatureFindCorrelation summary: Bluesky Find all correlated threat signatures between 2 or more accounts. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Find all correlated threat signatures between 2 or more accounts. tags: - Ozone Signatures x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: dids in: query required: true schema: type: array items: type: string format: did example: - did:plc:example123abc responses: '200': description: OK content: application/json: schema: type: object required: - details properties: details: type: array items: $ref: '#/components/schemas/ToolsOzoneSignatureDefsSigDetail' examples: OzoneSignatureFindCorrelationResponse200Example: $ref: '#/components/examples/OzoneSignatureFindCorrelationResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.signature.findRelatedAccounts: get: operationId: ozoneSignatureFindRelatedAccounts summary: Bluesky Get accounts that share some matching threat signatures with the root account. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Get accounts that share some matching threat signatures with the root account. tags: - Ozone Signatures x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: did in: query required: true schema: type: string format: did example: did:plc:example123abc - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 responses: '200': description: OK content: application/json: schema: type: object required: - accounts properties: cursor: type: string accounts: type: array items: $ref: '#/components/schemas/ToolsOzoneSignatureFindRelatedAccountsRelatedAccount' examples: OzoneSignatureFindRelatedAccountsResponse200Example: $ref: '#/components/examples/OzoneSignatureFindRelatedAccountsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.signature.searchAccounts: get: operationId: ozoneSignatureSearchAccounts summary: Bluesky Search for accounts that match one or more threat signature values. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Search for accounts that match one or more threat signature values. tags: - Ozone Signatures x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: values in: query required: true schema: type: array items: type: string example: - example-values - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 responses: '200': description: OK content: application/json: schema: type: object required: - accounts properties: cursor: type: string accounts: type: array items: $ref: '#/components/schemas/ComAtprotoAdminDefsAccountView' examples: OzoneSignatureSearchAccountsResponse200Example: $ref: '#/components/examples/OzoneSignatureSearchAccountsResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.team.addMember: post: operationId: ozoneTeamAddMember summary: Bluesky Add a member to the ozone team. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Add a member to the ozone team. Requires admin role. tags: - Ozone Team x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did - role properties: did: type: string format: did role: type: string enum: - tools.ozone.team.defs#roleAdmin - tools.ozone.team.defs#roleModerator - tools.ozone.team.defs#roleTriage examples: OzoneTeamAddMemberRequestExample: $ref: '#/components/examples/OzoneTeamAddMemberRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneTeamDefsMember' examples: OzoneTeamAddMemberResponse200Example: $ref: '#/components/examples/OzoneTeamAddMemberResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - MemberAlreadyExists message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.team.deleteMember: post: operationId: ozoneTeamDeleteMember summary: Bluesky Delete a member from ozone team. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Delete a member from ozone team. Requires admin role. tags: - Ozone Team x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did properties: did: type: string format: did examples: OzoneTeamDeleteMemberRequestExample: $ref: '#/components/examples/OzoneTeamDeleteMemberRequestExample' responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - MemberNotFound - CannotDeleteSelf message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.team.listMembers: get: operationId: ozoneTeamListMembers summary: Bluesky List all members with access to the ozone service. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* List all members with access to the ozone service. tags: - Ozone Team x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 - name: cursor in: query required: false schema: type: string example: eyJsYXN0SWQiOiIxMjM0NTYifQ responses: '200': description: OK content: application/json: schema: type: object required: - members properties: cursor: type: string members: type: array items: $ref: '#/components/schemas/ToolsOzoneTeamDefsMember' examples: OzoneTeamListMembersResponse200Example: $ref: '#/components/examples/OzoneTeamListMembersResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string /xrpc/tools.ozone.team.updateMember: post: operationId: ozoneTeamUpdateMember summary: Bluesky Update a member in the ozone service. description: |- *This endpoint is part of the [Ozone moderation service](https://ozone.tools/) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.* *To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.* Update a member in the ozone service. Requires admin role. tags: - Ozone Team x-microcks-operation: delay: 100 dispatcher: FALLBACK dispatcherRules: '' security: - Bearer: [] requestBody: required: true content: application/json: schema: type: object required: - did properties: did: type: string format: did disabled: type: boolean role: type: string enum: - tools.ozone.team.defs#roleAdmin - tools.ozone.team.defs#roleModerator - tools.ozone.team.defs#roleTriage examples: OzoneTeamUpdateMemberRequestExample: $ref: '#/components/examples/OzoneTeamUpdateMemberRequestExample' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ToolsOzoneTeamDefsMember' examples: OzoneTeamUpdateMemberResponse200Example: $ref: '#/components/examples/OzoneTeamUpdateMemberResponse200Example' '400': description: Bad Request content: application/json: schema: type: object required: - error - message properties: error: type: string enum: - InvalidRequest - ExpiredToken - InvalidToken - MemberNotFound message: type: string '401': description: Unauthorized content: application/json: schema: type: object required: - error - message properties: error: const: AuthMissing message: type: string components: schemas: AppBskyActorDefsProfileViewBasic: type: object required: - did - handle properties: did: type: string format: did handle: type: string format: handle displayName: type: string maxLength: 640 avatar: type: string format: uri associated: $ref: '#/components/schemas/AppBskyActorDefsProfileAssociated' viewer: $ref: '#/components/schemas/AppBskyActorDefsViewerState' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' createdAt: type: string format: date-time AppBskyActorDefsProfileView: type: object required: - did - handle properties: did: type: string format: did handle: type: string format: handle displayName: type: string maxLength: 640 description: type: string maxLength: 2560 avatar: type: string format: uri associated: $ref: '#/components/schemas/AppBskyActorDefsProfileAssociated' indexedAt: type: string format: date-time createdAt: type: string format: date-time viewer: $ref: '#/components/schemas/AppBskyActorDefsViewerState' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' AppBskyActorDefsProfileViewDetailed: type: object required: - did - handle properties: did: type: string format: did handle: type: string format: handle displayName: type: string maxLength: 640 description: type: string maxLength: 2560 avatar: type: string format: uri banner: type: string format: uri followersCount: type: integer followsCount: type: integer postsCount: type: integer associated: $ref: '#/components/schemas/AppBskyActorDefsProfileAssociated' joinedViaStarterPack: $ref: '#/components/schemas/AppBskyGraphDefsStarterPackViewBasic' indexedAt: type: string format: date-time createdAt: type: string format: date-time viewer: $ref: '#/components/schemas/AppBskyActorDefsViewerState' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' pinnedPost: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' AppBskyActorDefsProfileAssociated: type: object properties: lists: type: integer feedgens: type: integer starterPacks: type: integer labeler: type: boolean chat: $ref: '#/components/schemas/AppBskyActorDefsProfileAssociatedChat' AppBskyActorDefsProfileAssociatedChat: type: object required: - allowIncoming properties: allowIncoming: type: string enum: - all - none - following AppBskyActorDefsViewerState: type: object description: Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests. properties: muted: type: boolean mutedByList: $ref: '#/components/schemas/AppBskyGraphDefsListViewBasic' blockedBy: type: boolean blocking: type: string format: at-uri blockingByList: $ref: '#/components/schemas/AppBskyGraphDefsListViewBasic' following: type: string format: at-uri followedBy: type: string format: at-uri knownFollowers: $ref: '#/components/schemas/AppBskyActorDefsKnownFollowers' AppBskyActorDefsKnownFollowers: type: object description: The subject's followers whom you also follow required: - count - followers properties: count: type: integer followers: type: array items: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' maxItems: 5 AppBskyActorDefsPreferences: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyActorDefsAdultContentPref' - $ref: '#/components/schemas/AppBskyActorDefsContentLabelPref' - $ref: '#/components/schemas/AppBskyActorDefsSavedFeedsPref' - $ref: '#/components/schemas/AppBskyActorDefsSavedFeedsPrefV2' - $ref: '#/components/schemas/AppBskyActorDefsPersonalDetailsPref' - $ref: '#/components/schemas/AppBskyActorDefsFeedViewPref' - $ref: '#/components/schemas/AppBskyActorDefsThreadViewPref' - $ref: '#/components/schemas/AppBskyActorDefsInterestsPref' - $ref: '#/components/schemas/AppBskyActorDefsMutedWordsPref' - $ref: '#/components/schemas/AppBskyActorDefsHiddenPostsPref' - $ref: '#/components/schemas/AppBskyActorDefsBskyAppStatePref' - $ref: '#/components/schemas/AppBskyActorDefsLabelersPref' AppBskyActorDefsAdultContentPref: type: object required: - enabled properties: enabled: type: boolean AppBskyActorDefsContentLabelPref: type: object required: - label - visibility properties: labelerDid: type: string description: Which labeler does this preference apply to? If undefined, applies globally. format: did label: type: string visibility: type: string enum: - ignore - show - warn - hide AppBskyActorDefsSavedFeed: type: object required: - id - type - value - pinned properties: id: type: string type: type: string enum: - feed - list - timeline value: type: string pinned: type: boolean AppBskyActorDefsSavedFeedsPrefV2: type: object required: - items properties: items: type: array items: $ref: '#/components/schemas/AppBskyActorDefsSavedFeed' AppBskyActorDefsSavedFeedsPref: type: object required: - pinned - saved properties: pinned: type: array items: type: string format: at-uri saved: type: array items: type: string format: at-uri timelineIndex: type: integer AppBskyActorDefsPersonalDetailsPref: type: object properties: birthDate: type: string description: The birth date of account owner. format: date-time AppBskyActorDefsFeedViewPref: type: object required: - feed properties: feed: type: string description: The URI of the feed, or an identifier which describes the feed. hideReplies: type: boolean description: Hide replies in the feed. hideRepliesByUnfollowed: type: boolean description: Hide replies in the feed if they are not by followed users. default: true hideRepliesByLikeCount: type: integer hideReposts: type: boolean description: Hide reposts in the feed. hideQuotePosts: type: boolean description: Hide quote posts in the feed. AppBskyActorDefsThreadViewPref: type: object properties: sort: type: string description: Sorting mode for threads. enum: - oldest - newest - most-likes - random prioritizeFollowedUsers: type: boolean description: Show followed users at the top of all replies. AppBskyActorDefsInterestsPref: type: object required: - tags properties: tags: type: array items: type: string maxLength: 640 maxItems: 100 AppBskyActorDefsMutedWordTarget: type: string maxLength: 640 enum: - content - tag AppBskyActorDefsMutedWord: type: object description: A word that the account owner has muted. required: - value - targets properties: id: type: string value: type: string description: The muted word itself. maxLength: 10000 targets: type: array items: $ref: '#/components/schemas/AppBskyActorDefsMutedWordTarget' actorTarget: type: string description: Groups of users to apply the muted word to. If undefined, applies to all users. default: all enum: - all - exclude-following expiresAt: type: string description: The date and time at which the muted word will expire and no longer be applied. format: date-time AppBskyActorDefsMutedWordsPref: type: object required: - items properties: items: type: array items: $ref: '#/components/schemas/AppBskyActorDefsMutedWord' AppBskyActorDefsHiddenPostsPref: type: object required: - items properties: items: type: array items: type: string format: at-uri AppBskyActorDefsLabelersPref: type: object required: - labelers properties: labelers: type: array items: $ref: '#/components/schemas/AppBskyActorDefsLabelerPrefItem' AppBskyActorDefsLabelerPrefItem: type: object required: - did properties: did: type: string format: did AppBskyActorDefsBskyAppStatePref: type: object description: A grab bag of state that's specific to the bsky.app program. Third-party apps shouldn't use this. properties: activeProgressGuide: $ref: '#/components/schemas/AppBskyActorDefsBskyAppProgressGuide' queuedNudges: type: array items: type: string maxLength: 100 maxItems: 1000 nuxs: type: array items: $ref: '#/components/schemas/AppBskyActorDefsNux' maxItems: 100 AppBskyActorDefsBskyAppProgressGuide: type: object description: If set, an active progress guide. Once completed, can be set to undefined. Should have unspecced fields tracking progress. required: - guide properties: guide: type: string maxLength: 100 AppBskyActorDefsNux: type: object description: A new user experiences (NUX) storage object required: - id - completed properties: id: type: string maxLength: 100 completed: type: boolean data: type: string description: Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters. maxLength: 3000 expiresAt: type: string description: The date and time at which the NUX will expire and should be considered completed. format: date-time AppBskyActorProfile: type: object properties: displayName: type: string maxLength: 640 description: type: string description: Free-form profile description text. maxLength: 2560 avatar: type: string format: binary maxLength: 1000000 banner: type: string format: binary maxLength: 1000000 labels: oneOf: - $ref: '#/components/schemas/ComAtprotoLabelDefsSelfLabels' joinedViaStarterPack: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' pinnedPost: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' createdAt: type: string format: date-time AppBskyEmbedDefsAspectRatio: type: object description: width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. required: - width - height properties: width: type: integer minimum: 1 height: type: integer minimum: 1 AppBskyEmbedExternal: type: object description: A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post). required: - external properties: external: $ref: '#/components/schemas/AppBskyEmbedExternalExternal' AppBskyEmbedExternalExternal: type: object required: - uri - title - description properties: uri: type: string format: uri title: type: string description: type: string thumb: type: string format: binary maxLength: 1000000 AppBskyEmbedExternalView: type: object required: - external properties: external: $ref: '#/components/schemas/AppBskyEmbedExternalViewExternal' AppBskyEmbedExternalViewExternal: type: object required: - uri - title - description properties: uri: type: string format: uri title: type: string description: type: string thumb: type: string format: uri AppBskyEmbedImages: type: object required: - images properties: images: type: array items: $ref: '#/components/schemas/AppBskyEmbedImagesImage' maxItems: 4 AppBskyEmbedImagesImage: type: object required: - image - alt properties: image: type: string format: binary maxLength: 1000000 alt: type: string description: Alt text description of the image, for accessibility. aspectRatio: $ref: '#/components/schemas/AppBskyEmbedDefsAspectRatio' AppBskyEmbedImagesView: type: object required: - images properties: images: type: array items: $ref: '#/components/schemas/AppBskyEmbedImagesViewImage' maxItems: 4 AppBskyEmbedImagesViewImage: type: object required: - thumb - fullsize - alt properties: thumb: type: string description: Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View. format: uri fullsize: type: string description: Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View. format: uri alt: type: string description: Alt text description of the image, for accessibility. aspectRatio: $ref: '#/components/schemas/AppBskyEmbedDefsAspectRatio' AppBskyEmbedRecord: type: object required: - record properties: record: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' AppBskyEmbedRecordView: type: object required: - record properties: record: oneOf: - $ref: '#/components/schemas/AppBskyEmbedRecordViewRecord' - $ref: '#/components/schemas/AppBskyEmbedRecordViewNotFound' - $ref: '#/components/schemas/AppBskyEmbedRecordViewBlocked' - $ref: '#/components/schemas/AppBskyEmbedRecordViewDetached' - $ref: '#/components/schemas/AppBskyFeedDefsGeneratorView' - $ref: '#/components/schemas/AppBskyGraphDefsListView' - $ref: '#/components/schemas/AppBskyLabelerDefsLabelerView' - $ref: '#/components/schemas/AppBskyGraphDefsStarterPackViewBasic' AppBskyEmbedRecordViewRecord: type: object required: - uri - cid - author - value - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid author: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' value: {} labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' replyCount: type: integer repostCount: type: integer likeCount: type: integer quoteCount: type: integer embeds: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyEmbedImagesView' - $ref: '#/components/schemas/AppBskyEmbedVideoView' - $ref: '#/components/schemas/AppBskyEmbedExternalView' - $ref: '#/components/schemas/AppBskyEmbedRecordView' - $ref: '#/components/schemas/AppBskyEmbedRecordWithMediaView' indexedAt: type: string format: date-time AppBskyEmbedRecordViewNotFound: type: object required: - uri - notFound properties: uri: type: string format: at-uri notFound: type: boolean default: true AppBskyEmbedRecordViewBlocked: type: object required: - uri - blocked - author properties: uri: type: string format: at-uri blocked: type: boolean default: true author: $ref: '#/components/schemas/AppBskyFeedDefsBlockedAuthor' AppBskyEmbedRecordViewDetached: type: object required: - uri - detached properties: uri: type: string format: at-uri detached: type: boolean default: true AppBskyEmbedRecordWithMedia: type: object required: - record - media properties: record: $ref: '#/components/schemas/AppBskyEmbedRecord' media: oneOf: - $ref: '#/components/schemas/AppBskyEmbedImages' - $ref: '#/components/schemas/AppBskyEmbedVideo' - $ref: '#/components/schemas/AppBskyEmbedExternal' AppBskyEmbedRecordWithMediaView: type: object required: - record - media properties: record: $ref: '#/components/schemas/AppBskyEmbedRecordView' media: oneOf: - $ref: '#/components/schemas/AppBskyEmbedImagesView' - $ref: '#/components/schemas/AppBskyEmbedVideoView' - $ref: '#/components/schemas/AppBskyEmbedExternalView' AppBskyEmbedVideo: type: object required: - video properties: video: type: string format: binary maxLength: 50000000 captions: type: array items: $ref: '#/components/schemas/AppBskyEmbedVideoCaption' maxItems: 20 alt: type: string description: Alt text description of the video, for accessibility. maxLength: 10000 aspectRatio: $ref: '#/components/schemas/AppBskyEmbedDefsAspectRatio' AppBskyEmbedVideoCaption: type: object required: - lang - file properties: lang: type: string format: language file: type: string format: binary maxLength: 20000 AppBskyEmbedVideoView: type: object required: - cid - playlist properties: cid: type: string format: cid playlist: type: string format: uri thumbnail: type: string format: uri alt: type: string maxLength: 10000 aspectRatio: $ref: '#/components/schemas/AppBskyEmbedDefsAspectRatio' AppBskyFeedDefsPostView: type: object required: - uri - cid - author - record - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid author: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' record: {} embed: oneOf: - $ref: '#/components/schemas/AppBskyEmbedImagesView' - $ref: '#/components/schemas/AppBskyEmbedVideoView' - $ref: '#/components/schemas/AppBskyEmbedExternalView' - $ref: '#/components/schemas/AppBskyEmbedRecordView' - $ref: '#/components/schemas/AppBskyEmbedRecordWithMediaView' replyCount: type: integer repostCount: type: integer likeCount: type: integer quoteCount: type: integer indexedAt: type: string format: date-time viewer: $ref: '#/components/schemas/AppBskyFeedDefsViewerState' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' threadgate: $ref: '#/components/schemas/AppBskyFeedDefsThreadgateView' AppBskyFeedDefsViewerState: type: object description: Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests. properties: repost: type: string format: at-uri like: type: string format: at-uri threadMuted: type: boolean replyDisabled: type: boolean embeddingDisabled: type: boolean pinned: type: boolean AppBskyFeedDefsFeedViewPost: type: object required: - post properties: post: $ref: '#/components/schemas/AppBskyFeedDefsPostView' reply: $ref: '#/components/schemas/AppBskyFeedDefsReplyRef' reason: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsReasonRepost' - $ref: '#/components/schemas/AppBskyFeedDefsReasonPin' feedContext: type: string description: Context provided by feed generator that may be passed back alongside interactions. maxLength: 2000 AppBskyFeedDefsReplyRef: type: object required: - root - parent properties: root: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsPostView' - $ref: '#/components/schemas/AppBskyFeedDefsNotFoundPost' - $ref: '#/components/schemas/AppBskyFeedDefsBlockedPost' parent: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsPostView' - $ref: '#/components/schemas/AppBskyFeedDefsNotFoundPost' - $ref: '#/components/schemas/AppBskyFeedDefsBlockedPost' grandparentAuthor: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' AppBskyFeedDefsReasonRepost: type: object required: - by - indexedAt properties: by: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' indexedAt: type: string format: date-time AppBskyFeedDefsReasonPin: type: object properties: {} AppBskyFeedDefsThreadViewPost: type: object required: - post properties: post: $ref: '#/components/schemas/AppBskyFeedDefsPostView' parent: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsThreadViewPost' - $ref: '#/components/schemas/AppBskyFeedDefsNotFoundPost' - $ref: '#/components/schemas/AppBskyFeedDefsBlockedPost' replies: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsThreadViewPost' - $ref: '#/components/schemas/AppBskyFeedDefsNotFoundPost' - $ref: '#/components/schemas/AppBskyFeedDefsBlockedPost' AppBskyFeedDefsNotFoundPost: type: object required: - uri - notFound properties: uri: type: string format: at-uri notFound: type: boolean default: true AppBskyFeedDefsBlockedPost: type: object required: - uri - blocked - author properties: uri: type: string format: at-uri blocked: type: boolean default: true author: $ref: '#/components/schemas/AppBskyFeedDefsBlockedAuthor' AppBskyFeedDefsBlockedAuthor: type: object required: - did properties: did: type: string format: did viewer: $ref: '#/components/schemas/AppBskyActorDefsViewerState' AppBskyFeedDefsGeneratorView: type: object required: - uri - cid - did - creator - displayName - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid did: type: string format: did creator: $ref: '#/components/schemas/AppBskyActorDefsProfileView' displayName: type: string description: type: string maxLength: 3000 descriptionFacets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' avatar: type: string format: uri likeCount: type: integer minimum: 0 acceptsInteractions: type: boolean labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' viewer: $ref: '#/components/schemas/AppBskyFeedDefsGeneratorViewerState' indexedAt: type: string format: date-time AppBskyFeedDefsGeneratorViewerState: type: object properties: like: type: string format: at-uri AppBskyFeedDefsSkeletonFeedPost: type: object required: - post properties: post: type: string format: at-uri reason: oneOf: - $ref: '#/components/schemas/AppBskyFeedDefsSkeletonReasonRepost' - $ref: '#/components/schemas/AppBskyFeedDefsSkeletonReasonPin' feedContext: type: string description: Context that will be passed through to client and may be passed to feed generator back alongside interactions. maxLength: 2000 AppBskyFeedDefsSkeletonReasonRepost: type: object required: - repost properties: repost: type: string format: at-uri AppBskyFeedDefsSkeletonReasonPin: type: object properties: {} AppBskyFeedDefsThreadgateView: type: object properties: uri: type: string format: at-uri cid: type: string format: cid record: {} lists: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsListViewBasic' AppBskyFeedDefsInteraction: type: object properties: item: type: string format: at-uri event: type: string enum: - app.bsky.feed.defs#requestLess - app.bsky.feed.defs#requestMore - app.bsky.feed.defs#clickthroughItem - app.bsky.feed.defs#clickthroughAuthor - app.bsky.feed.defs#clickthroughReposter - app.bsky.feed.defs#clickthroughEmbed - app.bsky.feed.defs#interactionSeen - app.bsky.feed.defs#interactionLike - app.bsky.feed.defs#interactionRepost - app.bsky.feed.defs#interactionReply - app.bsky.feed.defs#interactionQuote - app.bsky.feed.defs#interactionShare feedContext: type: string description: Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton. maxLength: 2000 AppBskyFeedDefsRequestLess: type: string format: token description: Request that less content like the given feed item be shown in the feed AppBskyFeedDefsRequestMore: type: string format: token description: Request that more content like the given feed item be shown in the feed AppBskyFeedDefsClickthroughItem: type: string format: token description: User clicked through to the feed item AppBskyFeedDefsClickthroughAuthor: type: string format: token description: User clicked through to the author of the feed item AppBskyFeedDefsClickthroughReposter: type: string format: token description: User clicked through to the reposter of the feed item AppBskyFeedDefsClickthroughEmbed: type: string format: token description: User clicked through to the embedded content of the feed item AppBskyFeedDefsInteractionSeen: type: string format: token description: Feed item was seen by user AppBskyFeedDefsInteractionLike: type: string format: token description: User liked the feed item AppBskyFeedDefsInteractionRepost: type: string format: token description: User reposted the feed item AppBskyFeedDefsInteractionReply: type: string format: token description: User replied to the feed item AppBskyFeedDefsInteractionQuote: type: string format: token description: User quoted the feed item AppBskyFeedDefsInteractionShare: type: string format: token description: User shared the feed item AppBskyFeedDescribeFeedGeneratorFeed: type: object required: - uri properties: uri: type: string format: at-uri AppBskyFeedDescribeFeedGeneratorLinks: type: object properties: privacyPolicy: type: string termsOfService: type: string AppBskyFeedGenerator: type: object required: - did - displayName - createdAt properties: did: type: string format: did displayName: type: string maxLength: 240 description: type: string maxLength: 3000 descriptionFacets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' avatar: type: string format: binary maxLength: 1000000 acceptsInteractions: type: boolean description: Declaration that a feed accepts feedback interactions from a client through app.bsky.feed.sendInteractions labels: oneOf: - $ref: '#/components/schemas/ComAtprotoLabelDefsSelfLabels' createdAt: type: string format: date-time AppBskyFeedGetLikesLike: type: object required: - indexedAt - createdAt - actor properties: indexedAt: type: string format: date-time createdAt: type: string format: date-time actor: $ref: '#/components/schemas/AppBskyActorDefsProfileView' AppBskyFeedLike: type: object required: - subject - createdAt properties: subject: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' createdAt: type: string format: date-time AppBskyFeedPost: type: object required: - text - createdAt properties: text: type: string description: The primary post content. May be an empty string, if there are embeds. maxLength: 3000 facets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' reply: $ref: '#/components/schemas/AppBskyFeedPostReplyRef' embed: oneOf: - $ref: '#/components/schemas/AppBskyEmbedImages' - $ref: '#/components/schemas/AppBskyEmbedVideo' - $ref: '#/components/schemas/AppBskyEmbedExternal' - $ref: '#/components/schemas/AppBskyEmbedRecord' - $ref: '#/components/schemas/AppBskyEmbedRecordWithMedia' langs: type: array items: type: string format: language maxItems: 3 labels: oneOf: - $ref: '#/components/schemas/ComAtprotoLabelDefsSelfLabels' tags: type: array items: type: string maxLength: 640 maxItems: 8 createdAt: type: string description: Client-declared timestamp when this post was originally created. format: date-time AppBskyFeedPostReplyRef: type: object required: - root - parent properties: root: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' parent: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' AppBskyFeedPostgate: type: object required: - post - createdAt properties: createdAt: type: string format: date-time post: type: string description: Reference (AT-URI) to the post record. format: at-uri detachedEmbeddingUris: type: array items: type: string format: at-uri maxItems: 50 embeddingRules: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyFeedPostgateDisableRule' maxItems: 5 AppBskyFeedPostgateDisableRule: type: object description: Disables embedding of this post. properties: {} AppBskyFeedRepost: type: object required: - subject - createdAt properties: subject: $ref: '#/components/schemas/ComAtprotoRepoStrongRef' createdAt: type: string format: date-time AppBskyFeedThreadgate: type: object required: - post - createdAt properties: post: type: string description: Reference (AT-URI) to the post record. format: at-uri allow: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyFeedThreadgateMentionRule' - $ref: '#/components/schemas/AppBskyFeedThreadgateFollowingRule' - $ref: '#/components/schemas/AppBskyFeedThreadgateListRule' maxItems: 5 createdAt: type: string format: date-time hiddenReplies: type: array items: type: string format: at-uri maxItems: 50 AppBskyFeedThreadgateMentionRule: type: object description: Allow replies from actors mentioned in your post. properties: {} AppBskyFeedThreadgateFollowingRule: type: object description: Allow replies from actors you follow. properties: {} AppBskyFeedThreadgateListRule: type: object description: Allow replies from actors on a list. required: - list properties: list: type: string format: at-uri AppBskyGraphBlock: type: object required: - subject - createdAt properties: subject: type: string description: DID of the account to be blocked. format: did createdAt: type: string format: date-time AppBskyGraphDefsListViewBasic: type: object required: - uri - cid - name - purpose properties: uri: type: string format: at-uri cid: type: string format: cid name: type: string minLength: 1 maxLength: 64 purpose: $ref: '#/components/schemas/AppBskyGraphDefsListPurpose' avatar: type: string format: uri listItemCount: type: integer minimum: 0 labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' viewer: $ref: '#/components/schemas/AppBskyGraphDefsListViewerState' indexedAt: type: string format: date-time AppBskyGraphDefsListView: type: object required: - uri - cid - creator - name - purpose - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid creator: $ref: '#/components/schemas/AppBskyActorDefsProfileView' name: type: string minLength: 1 maxLength: 64 purpose: $ref: '#/components/schemas/AppBskyGraphDefsListPurpose' description: type: string maxLength: 3000 descriptionFacets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' avatar: type: string format: uri listItemCount: type: integer minimum: 0 labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' viewer: $ref: '#/components/schemas/AppBskyGraphDefsListViewerState' indexedAt: type: string format: date-time AppBskyGraphDefsListItemView: type: object required: - uri - subject properties: uri: type: string format: at-uri subject: $ref: '#/components/schemas/AppBskyActorDefsProfileView' AppBskyGraphDefsStarterPackView: type: object required: - uri - cid - record - creator - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid record: {} creator: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' list: $ref: '#/components/schemas/AppBskyGraphDefsListViewBasic' listItemsSample: type: array items: $ref: '#/components/schemas/AppBskyGraphDefsListItemView' maxItems: 12 feeds: type: array items: $ref: '#/components/schemas/AppBskyFeedDefsGeneratorView' maxItems: 3 joinedWeekCount: type: integer minimum: 0 joinedAllTimeCount: type: integer minimum: 0 labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' indexedAt: type: string format: date-time AppBskyGraphDefsStarterPackViewBasic: type: object required: - uri - cid - record - creator - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid record: {} creator: $ref: '#/components/schemas/AppBskyActorDefsProfileViewBasic' listItemCount: type: integer minimum: 0 joinedWeekCount: type: integer minimum: 0 joinedAllTimeCount: type: integer minimum: 0 labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' indexedAt: type: string format: date-time AppBskyGraphDefsListPurpose: oneOf: - $ref: '#/components/schemas/AppBskyGraphDefsModlist' - $ref: '#/components/schemas/AppBskyGraphDefsCuratelist' - $ref: '#/components/schemas/AppBskyGraphDefsReferencelist' AppBskyGraphDefsModlist: type: string format: token description: A list of actors to apply an aggregate moderation action (mute/block) on. AppBskyGraphDefsCuratelist: type: string format: token description: A list of actors used for curation purposes such as list feeds or interaction gating. AppBskyGraphDefsReferencelist: type: string format: token description: A list of actors used for only for reference purposes such as within a starter pack. AppBskyGraphDefsListViewerState: type: object properties: muted: type: boolean blocked: type: string format: at-uri AppBskyGraphDefsNotFoundActor: type: object description: indicates that a handle or DID could not be resolved required: - actor - notFound properties: actor: type: string format: at-identifier notFound: type: boolean default: true AppBskyGraphDefsRelationship: type: object description: lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object) required: - did properties: did: type: string format: did following: type: string description: if the actor follows this DID, this is the AT-URI of the follow record format: at-uri followedBy: type: string description: if the actor is followed by this DID, contains the AT-URI of the follow record format: at-uri AppBskyGraphFollow: type: object required: - subject - createdAt properties: subject: type: string format: did createdAt: type: string format: date-time AppBskyGraphList: type: object required: - name - purpose - createdAt properties: purpose: $ref: '#/components/schemas/AppBskyGraphDefsListPurpose' name: type: string description: Display name for list; can not be empty. minLength: 1 maxLength: 64 description: type: string maxLength: 3000 descriptionFacets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' avatar: type: string format: binary maxLength: 1000000 labels: oneOf: - $ref: '#/components/schemas/ComAtprotoLabelDefsSelfLabels' createdAt: type: string format: date-time AppBskyGraphListblock: type: object required: - subject - createdAt properties: subject: type: string description: Reference (AT-URI) to the mod list record. format: at-uri createdAt: type: string format: date-time AppBskyGraphListitem: type: object required: - subject - list - createdAt properties: subject: type: string description: The account which is included on the list. format: did list: type: string description: Reference (AT-URI) to the list record (app.bsky.graph.list). format: at-uri createdAt: type: string format: date-time AppBskyGraphStarterpack: type: object required: - name - list - createdAt properties: name: type: string description: Display name for starter pack; can not be empty. minLength: 1 maxLength: 500 description: type: string maxLength: 3000 descriptionFacets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' list: type: string description: Reference (AT-URI) to the list record. format: at-uri feeds: type: array items: $ref: '#/components/schemas/AppBskyGraphStarterpackFeedItem' maxItems: 3 createdAt: type: string format: date-time AppBskyGraphStarterpackFeedItem: type: object required: - uri properties: uri: type: string format: at-uri AppBskyLabelerDefsLabelerView: type: object required: - uri - cid - creator - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid creator: $ref: '#/components/schemas/AppBskyActorDefsProfileView' likeCount: type: integer minimum: 0 viewer: $ref: '#/components/schemas/AppBskyLabelerDefsLabelerViewerState' indexedAt: type: string format: date-time labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' AppBskyLabelerDefsLabelerViewDetailed: type: object required: - uri - cid - creator - policies - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid creator: $ref: '#/components/schemas/AppBskyActorDefsProfileView' policies: $ref: '#/components/schemas/AppBskyLabelerDefsLabelerPolicies' likeCount: type: integer minimum: 0 viewer: $ref: '#/components/schemas/AppBskyLabelerDefsLabelerViewerState' indexedAt: type: string format: date-time labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' AppBskyLabelerDefsLabelerViewerState: type: object properties: like: type: string format: at-uri AppBskyLabelerDefsLabelerPolicies: type: object required: - labelValues properties: labelValues: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabelValue' labelValueDefinitions: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabelValueDefinition' AppBskyLabelerService: type: object required: - policies - createdAt properties: policies: $ref: '#/components/schemas/AppBskyLabelerDefsLabelerPolicies' labels: oneOf: - $ref: '#/components/schemas/ComAtprotoLabelDefsSelfLabels' createdAt: type: string format: date-time AppBskyNotificationListNotificationsNotification: type: object required: - uri - cid - author - reason - record - isRead - indexedAt properties: uri: type: string format: at-uri cid: type: string format: cid author: $ref: '#/components/schemas/AppBskyActorDefsProfileView' reason: type: string description: Expected values are 'like', 'repost', 'follow', 'mention', 'reply', 'quote', and 'starterpack-joined'. enum: - like - repost - follow - mention - reply - quote - starterpack-joined reasonSubject: type: string format: at-uri record: {} isRead: type: boolean indexedAt: type: string format: date-time labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' AppBskyRichtextFacet: type: object description: Annotation of a sub-string within rich text. required: - index - features properties: index: $ref: '#/components/schemas/AppBskyRichtextFacetByteSlice' features: type: array items: oneOf: - $ref: '#/components/schemas/AppBskyRichtextFacetMention' - $ref: '#/components/schemas/AppBskyRichtextFacetLink' - $ref: '#/components/schemas/AppBskyRichtextFacetTag' AppBskyRichtextFacetMention: type: object description: Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID. required: - did properties: did: type: string format: did AppBskyRichtextFacetLink: type: object description: Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL. required: - uri properties: uri: type: string format: uri AppBskyRichtextFacetTag: type: object description: Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags'). required: - tag properties: tag: type: string maxLength: 640 AppBskyRichtextFacetByteSlice: type: object description: 'Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.' required: - byteStart - byteEnd properties: byteStart: type: integer minimum: 0 byteEnd: type: integer minimum: 0 AppBskyVideoDefsJobStatus: type: object required: - jobId - did - state properties: jobId: type: string did: type: string format: did state: type: string description: The state of the video processing job. All values not listed as a known value indicate that the job is in process. enum: - JOB_STATE_COMPLETED - JOB_STATE_FAILED progress: type: integer minimum: 0 maximum: 100 blob: type: string format: binary error: type: string message: type: string ChatBskyActorDeclaration: type: object required: - allowIncoming properties: allowIncoming: type: string enum: - all - none - following ChatBskyActorDefsProfileViewBasic: type: object required: - did - handle properties: did: type: string format: did handle: type: string format: handle displayName: type: string maxLength: 640 avatar: type: string format: uri associated: $ref: '#/components/schemas/AppBskyActorDefsProfileAssociated' viewer: $ref: '#/components/schemas/AppBskyActorDefsViewerState' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' chatDisabled: type: boolean description: Set to true when the actor cannot actively participate in converations ChatBskyConvoDefsMessageRef: type: object required: - did - messageId - convoId properties: did: type: string format: did convoId: type: string messageId: type: string ChatBskyConvoDefsMessageInput: type: object required: - text properties: text: type: string maxLength: 10000 facets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' embed: oneOf: - $ref: '#/components/schemas/AppBskyEmbedRecord' ChatBskyConvoDefsMessageView: type: object required: - id - rev - text - sender - sentAt properties: id: type: string rev: type: string text: type: string maxLength: 10000 facets: type: array items: $ref: '#/components/schemas/AppBskyRichtextFacet' embed: oneOf: - $ref: '#/components/schemas/AppBskyEmbedRecordView' sender: $ref: '#/components/schemas/ChatBskyConvoDefsMessageViewSender' sentAt: type: string format: date-time ChatBskyConvoDefsDeletedMessageView: type: object required: - id - rev - sender - sentAt properties: id: type: string rev: type: string sender: $ref: '#/components/schemas/ChatBskyConvoDefsMessageViewSender' sentAt: type: string format: date-time ChatBskyConvoDefsMessageViewSender: type: object required: - did properties: did: type: string format: did ChatBskyConvoDefsConvoView: type: object required: - id - rev - members - muted - unreadCount properties: id: type: string rev: type: string members: type: array items: $ref: '#/components/schemas/ChatBskyActorDefsProfileViewBasic' lastMessage: oneOf: - $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' - $ref: '#/components/schemas/ChatBskyConvoDefsDeletedMessageView' muted: type: boolean opened: type: boolean unreadCount: type: integer ChatBskyConvoDefsLogBeginConvo: type: object required: - rev - convoId properties: rev: type: string convoId: type: string ChatBskyConvoDefsLogLeaveConvo: type: object required: - rev - convoId properties: rev: type: string convoId: type: string ChatBskyConvoDefsLogCreateMessage: type: object required: - rev - convoId - message properties: rev: type: string convoId: type: string message: oneOf: - $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' - $ref: '#/components/schemas/ChatBskyConvoDefsDeletedMessageView' ChatBskyConvoDefsLogDeleteMessage: type: object required: - rev - convoId - message properties: rev: type: string convoId: type: string message: oneOf: - $ref: '#/components/schemas/ChatBskyConvoDefsMessageView' - $ref: '#/components/schemas/ChatBskyConvoDefsDeletedMessageView' ChatBskyConvoSendMessageBatchBatchItem: type: object required: - convoId - message properties: convoId: type: string message: $ref: '#/components/schemas/ChatBskyConvoDefsMessageInput' ChatBskyModerationGetActorMetadataMetadata: type: object required: - messagesSent - messagesReceived - convos - convosStarted properties: messagesSent: type: integer messagesReceived: type: integer convos: type: integer convosStarted: type: integer ComAtprotoAdminDefsStatusAttr: type: object required: - applied properties: applied: type: boolean ref: type: string ComAtprotoAdminDefsAccountView: type: object required: - did - handle - indexedAt properties: did: type: string format: did handle: type: string format: handle email: type: string relatedRecords: type: array items: {} indexedAt: type: string format: date-time invitedBy: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' invites: type: array items: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' invitesDisabled: type: boolean emailConfirmedAt: type: string format: date-time inviteNote: type: string deactivatedAt: type: string format: date-time threatSignatures: type: array items: $ref: '#/components/schemas/ComAtprotoAdminDefsThreatSignature' ComAtprotoAdminDefsRepoRef: type: object required: - did properties: did: type: string format: did ComAtprotoAdminDefsRepoBlobRef: type: object required: - did - cid properties: did: type: string format: did cid: type: string format: cid recordUri: type: string format: at-uri ComAtprotoAdminDefsThreatSignature: type: object required: - property - value properties: property: type: string value: type: string ComAtprotoLabelDefsLabel: type: object description: Metadata tag on an atproto resource (eg, repo or record). required: - src - uri - val - cts properties: ver: type: integer src: type: string description: DID of the actor who created this label. format: did uri: type: string description: AT URI of the record, repository (account), or other resource that this label applies to. format: uri cid: type: string description: Optionally, CID specifying the specific version of 'uri' resource this label applies to. format: cid val: type: string description: The short string name of the value or type of this label. maxLength: 128 neg: type: boolean description: If true, this is a negation label, overwriting a previous label. cts: type: string description: Timestamp when this label was created. format: date-time exp: type: string description: Timestamp at which this label expires (no longer applies). format: date-time sig: type: string format: byte description: Signature of dag-cbor encoded label. ComAtprotoLabelDefsSelfLabels: type: object description: Metadata tags on an atproto record, published by the author within the record. required: - values properties: values: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsSelfLabel' maxItems: 10 ComAtprotoLabelDefsSelfLabel: type: object description: 'Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.' required: - val properties: val: type: string description: The short string name of the value or type of this label. maxLength: 128 ComAtprotoLabelDefsLabelValueDefinition: type: object description: Declares a label value and its expected interpretations and behaviors. required: - identifier - severity - blurs - locales properties: identifier: type: string description: The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+). maxLength: 100 severity: type: string description: How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing. enum: - inform - alert - none blurs: type: string description: What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing. enum: - content - media - none defaultSetting: type: string description: The default setting for this label. default: warn enum: - ignore - warn - hide adultOnly: type: boolean description: Does the user need to have adult content enabled in order to configure this label? locales: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabelValueDefinitionStrings' ComAtprotoLabelDefsLabelValueDefinitionStrings: type: object description: Strings which describe the label in the UI, localized into a specific language. required: - lang - name - description properties: lang: type: string description: The code of the language these strings are written in. format: language name: type: string description: A short human-readable name for the label. maxLength: 640 description: type: string description: A longer description of what the label means and why it might be applied. maxLength: 100000 ComAtprotoLabelDefsLabelValue: type: string enum: - '!hide' - '!no-promote' - '!warn' - '!no-unauthenticated' - dmca-violation - doxxing - porn - sexual - nudity - nsfl - gore ComAtprotoLabelSubscribeLabelsLabels: type: object required: - seq - labels properties: seq: type: integer labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' ComAtprotoLabelSubscribeLabelsInfo: type: object required: - name properties: name: type: string enum: - OutdatedCursor message: type: string ComAtprotoModerationDefsReasonType: oneOf: - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonSpam' - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonViolation' - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonMisleading' - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonSexual' - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonRude' - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonOther' - $ref: '#/components/schemas/ComAtprotoModerationDefsReasonAppeal' ComAtprotoModerationDefsReasonSpam: type: string format: token description: 'Spam: frequent unwanted promotion, replies, mentions' ComAtprotoModerationDefsReasonViolation: type: string format: token description: Direct violation of server rules, laws, terms of service ComAtprotoModerationDefsReasonMisleading: type: string format: token description: Misleading identity, affiliation, or content ComAtprotoModerationDefsReasonSexual: type: string format: token description: Unwanted or mislabeled sexual content ComAtprotoModerationDefsReasonRude: type: string format: token description: Rude, harassing, explicit, or otherwise unwelcoming behavior ComAtprotoModerationDefsReasonOther: type: string format: token description: 'Other: reports not falling under another report category' ComAtprotoModerationDefsReasonAppeal: type: string format: token description: 'Appeal: appeal a previously taken moderation action' ComAtprotoRepoApplyWritesCreate: type: object description: Operation which creates a new record. required: - collection - value properties: collection: type: string format: nsid rkey: type: string maxLength: 512 value: {} ComAtprotoRepoApplyWritesUpdate: type: object description: Operation which updates an existing record. required: - collection - rkey - value properties: collection: type: string format: nsid rkey: type: string value: {} ComAtprotoRepoApplyWritesDelete: type: object description: Operation which deletes an existing record. required: - collection - rkey properties: collection: type: string format: nsid rkey: type: string ComAtprotoRepoApplyWritesCreateResult: type: object required: - uri - cid properties: uri: type: string format: at-uri cid: type: string format: cid validationStatus: type: string enum: - valid - unknown ComAtprotoRepoApplyWritesUpdateResult: type: object required: - uri - cid properties: uri: type: string format: at-uri cid: type: string format: cid validationStatus: type: string enum: - valid - unknown ComAtprotoRepoApplyWritesDeleteResult: type: object required: [] properties: {} ComAtprotoRepoDefsCommitMeta: type: object required: - cid - rev properties: cid: type: string format: cid rev: type: string ComAtprotoRepoListMissingBlobsRecordBlob: type: object required: - cid - recordUri properties: cid: type: string format: cid recordUri: type: string format: at-uri ComAtprotoRepoListRecordsRecord: type: object required: - uri - cid - value properties: uri: type: string format: at-uri cid: type: string format: cid value: {} ComAtprotoRepoStrongRef: type: object required: - uri - cid properties: uri: type: string format: at-uri cid: type: string format: cid ComAtprotoServerCreateAppPasswordAppPassword: type: object required: - name - password - createdAt properties: name: type: string password: type: string createdAt: type: string format: date-time privileged: type: boolean ComAtprotoServerCreateInviteCodesAccountCodes: type: object required: - account - codes properties: account: type: string codes: type: array items: type: string ComAtprotoServerDefsInviteCode: type: object required: - code - available - disabled - forAccount - createdBy - createdAt - uses properties: code: type: string available: type: integer disabled: type: boolean forAccount: type: string createdBy: type: string createdAt: type: string format: date-time uses: type: array items: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCodeUse' ComAtprotoServerDefsInviteCodeUse: type: object required: - usedBy - usedAt properties: usedBy: type: string format: did usedAt: type: string format: date-time ComAtprotoServerDescribeServerLinks: type: object properties: privacyPolicy: type: string format: uri termsOfService: type: string format: uri ComAtprotoServerDescribeServerContact: type: object properties: email: type: string ComAtprotoServerListAppPasswordsAppPassword: type: object required: - name - createdAt properties: name: type: string createdAt: type: string format: date-time privileged: type: boolean ComAtprotoSyncListReposRepo: type: object required: - did - head - rev properties: did: type: string format: did head: type: string description: Current repo commit CID format: cid rev: type: string active: type: boolean status: type: string description: If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted. enum: - takendown - suspended - deactivated ComAtprotoSyncSubscribeReposCommit: type: object description: Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature. required: - seq - rebase - tooBig - repo - commit - rev - since - blocks - ops - blobs - time properties: seq: type: integer tooBig: type: boolean description: Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data. repo: type: string description: The repo this event comes from. format: did commit: type: string format: cid-link rev: type: string description: The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event. since: type: string description: The rev of the last emitted commit from this repo (if any). blocks: type: string format: byte description: CAR file containing relevant blocks, as a diff since the previous repo state. maxLength: 1000000 ops: type: array items: $ref: '#/components/schemas/ComAtprotoSyncSubscribeReposRepoOp' maxItems: 200 blobs: type: array items: type: string format: cid-link time: type: string description: Timestamp of when this message was originally broadcast. format: date-time ComAtprotoSyncSubscribeReposIdentity: type: object description: Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache. required: - seq - did - time properties: seq: type: integer did: type: string format: did time: type: string format: date-time handle: type: string description: The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details. format: handle ComAtprotoSyncSubscribeReposAccount: type: object description: Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active. required: - seq - did - time - active properties: seq: type: integer did: type: string format: did time: type: string format: date-time active: type: boolean description: Indicates that the account has a repository which can be fetched from the host that emitted this event. status: type: string description: If active=false, this optional field indicates a reason for why the account is not active. enum: - takendown - suspended - deleted - deactivated ComAtprotoSyncSubscribeReposInfo: type: object required: - name properties: name: type: string enum: - OutdatedCursor message: type: string ComAtprotoSyncSubscribeReposRepoOp: type: object description: A repo operation, ie a mutation of a single record. required: - action - path - cid properties: action: type: string enum: - create - update - delete path: type: string cid: type: string format: cid-link ToolsOzoneCommunicationDefsTemplateView: type: object required: - id - name - contentMarkdown - disabled - lastUpdatedBy - createdAt - updatedAt properties: id: type: string name: type: string description: Name of the template. subject: type: string description: Content of the template, can contain markdown and variable placeholders. contentMarkdown: type: string description: Subject of the message, used in emails. disabled: type: boolean lang: type: string description: Message language. format: language lastUpdatedBy: type: string description: DID of the user who last updated the template. format: did createdAt: type: string format: date-time updatedAt: type: string format: date-time ToolsOzoneModerationDefsModEventView: type: object required: - id - event - subject - subjectBlobCids - createdBy - createdAt properties: id: type: integer event: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventTakedown' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventReverseTakedown' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventComment' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventReport' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventLabel' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventAcknowledge' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventEscalate' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventMute' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventUnmute' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventMuteReporter' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventUnmuteReporter' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventEmail' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventResolveAppeal' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventDivert' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventTag' - $ref: '#/components/schemas/ToolsOzoneModerationDefsAccountEvent' - $ref: '#/components/schemas/ToolsOzoneModerationDefsIdentityEvent' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordEvent' subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' - $ref: '#/components/schemas/ChatBskyConvoDefsMessageRef' subjectBlobCids: type: array items: type: string createdBy: type: string format: did createdAt: type: string format: date-time creatorHandle: type: string subjectHandle: type: string ToolsOzoneModerationDefsModEventViewDetail: type: object required: - id - event - subject - subjectBlobs - createdBy - createdAt properties: id: type: integer event: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventTakedown' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventReverseTakedown' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventComment' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventReport' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventLabel' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventAcknowledge' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventEscalate' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventMute' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventUnmute' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventMuteReporter' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventUnmuteReporter' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventEmail' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventResolveAppeal' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventDivert' - $ref: '#/components/schemas/ToolsOzoneModerationDefsModEventTag' - $ref: '#/components/schemas/ToolsOzoneModerationDefsAccountEvent' - $ref: '#/components/schemas/ToolsOzoneModerationDefsIdentityEvent' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordEvent' subject: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoView' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoViewNotFound' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordView' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordViewNotFound' subjectBlobs: type: array items: $ref: '#/components/schemas/ToolsOzoneModerationDefsBlobView' createdBy: type: string format: did createdAt: type: string format: date-time ToolsOzoneModerationDefsSubjectStatusView: type: object required: - id - subject - createdAt - updatedAt - reviewState properties: id: type: integer subject: oneOf: - $ref: '#/components/schemas/ComAtprotoAdminDefsRepoRef' - $ref: '#/components/schemas/ComAtprotoRepoStrongRef' hosting: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsAccountHosting' - $ref: '#/components/schemas/ToolsOzoneModerationDefsRecordHosting' subjectBlobCids: type: array items: type: string format: cid subjectRepoHandle: type: string updatedAt: type: string description: Timestamp referencing when the last update was made to the moderation status of the subject format: date-time createdAt: type: string description: Timestamp referencing the first moderation status impacting event was emitted on the subject format: date-time reviewState: $ref: '#/components/schemas/ToolsOzoneModerationDefsSubjectReviewState' comment: type: string description: Sticky comment on the subject. muteUntil: type: string format: date-time muteReportingUntil: type: string format: date-time lastReviewedBy: type: string format: did lastReviewedAt: type: string format: date-time lastReportedAt: type: string format: date-time lastAppealedAt: type: string description: Timestamp referencing when the author of the subject appealed a moderation action format: date-time takendown: type: boolean appealed: type: boolean description: True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators. suspendUntil: type: string format: date-time tags: type: array items: type: string ToolsOzoneModerationDefsSubjectReviewState: type: string enum: - '#reviewOpen' - '#reviewEscalated' - '#reviewClosed' - '#reviewNone' ToolsOzoneModerationDefsReviewOpen: type: string format: token description: 'Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator' ToolsOzoneModerationDefsReviewEscalated: type: string format: token description: 'Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator' ToolsOzoneModerationDefsReviewClosed: type: string format: token description: 'Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator' ToolsOzoneModerationDefsReviewNone: type: string format: token description: 'Moderator review status of a subject: Unnecessary. Indicates that the subject does not need a review at the moment but there is probably some moderation related metadata available for it' ToolsOzoneModerationDefsModEventTakedown: type: object description: Take down a subject permanently or temporarily properties: comment: type: string durationInHours: type: integer acknowledgeAccountSubjects: type: boolean description: If true, all other reports on content authored by this account will be resolved (acknowledged). ToolsOzoneModerationDefsModEventReverseTakedown: type: object description: Revert take down action on a subject properties: comment: type: string description: Describe reasoning behind the reversal. ToolsOzoneModerationDefsModEventResolveAppeal: type: object description: Resolve appeal on a subject properties: comment: type: string description: Describe resolution. ToolsOzoneModerationDefsModEventComment: type: object description: Add a comment to a subject required: - comment properties: comment: type: string sticky: type: boolean description: Make the comment persistent on the subject ToolsOzoneModerationDefsModEventReport: type: object description: Report a subject required: - reportType properties: comment: type: string isReporterMuted: type: boolean description: Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject. reportType: $ref: '#/components/schemas/ComAtprotoModerationDefsReasonType' ToolsOzoneModerationDefsModEventLabel: type: object description: Apply/Negate labels on a subject required: - createLabelVals - negateLabelVals properties: comment: type: string createLabelVals: type: array items: type: string negateLabelVals: type: array items: type: string ToolsOzoneModerationDefsModEventAcknowledge: type: object properties: comment: type: string ToolsOzoneModerationDefsModEventEscalate: type: object properties: comment: type: string ToolsOzoneModerationDefsModEventMute: type: object description: Mute incoming reports on a subject required: - durationInHours properties: comment: type: string durationInHours: type: integer ToolsOzoneModerationDefsModEventUnmute: type: object description: Unmute action on a subject properties: comment: type: string description: Describe reasoning behind the reversal. ToolsOzoneModerationDefsModEventMuteReporter: type: object description: Mute incoming reports from an account properties: comment: type: string durationInHours: type: integer ToolsOzoneModerationDefsModEventUnmuteReporter: type: object description: Unmute incoming reports from an account properties: comment: type: string description: Describe reasoning behind the reversal. ToolsOzoneModerationDefsModEventEmail: type: object description: Keep a log of outgoing email to a user required: - subjectLine properties: subjectLine: type: string description: The subject line of the email sent to the user. content: type: string description: The content of the email sent to the user. comment: type: string description: Additional comment about the outgoing comm. ToolsOzoneModerationDefsModEventDivert: type: object description: Divert a record's blobs to a 3rd party service for further scanning/tagging properties: comment: type: string ToolsOzoneModerationDefsModEventTag: type: object description: Add/Remove a tag on a subject required: - add - remove properties: add: type: array items: type: string remove: type: array items: type: string comment: type: string description: Additional comment about added/removed tags. ToolsOzoneModerationDefsAccountEvent: type: object description: Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. required: - timestamp - active properties: comment: type: string active: type: boolean description: Indicates that the account has a repository which can be fetched from the host that emitted this event. status: type: string enum: - unknown - deactivated - deleted - takendown - suspended - tombstoned timestamp: type: string format: date-time ToolsOzoneModerationDefsIdentityEvent: type: object description: Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. required: - timestamp properties: comment: type: string handle: type: string format: handle pdsHost: type: string format: uri tombstone: type: boolean timestamp: type: string format: date-time ToolsOzoneModerationDefsRecordEvent: type: object description: Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. required: - timestamp - op properties: comment: type: string op: type: string enum: - create - update - delete cid: type: string format: cid timestamp: type: string format: date-time ToolsOzoneModerationDefsRepoView: type: object required: - did - handle - relatedRecords - indexedAt - moderation properties: did: type: string format: did handle: type: string format: handle email: type: string relatedRecords: type: array items: {} indexedAt: type: string format: date-time moderation: $ref: '#/components/schemas/ToolsOzoneModerationDefsModeration' invitedBy: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' invitesDisabled: type: boolean inviteNote: type: string deactivatedAt: type: string format: date-time threatSignatures: type: array items: $ref: '#/components/schemas/ComAtprotoAdminDefsThreatSignature' ToolsOzoneModerationDefsRepoViewDetail: type: object required: - did - handle - relatedRecords - indexedAt - moderation properties: did: type: string format: did handle: type: string format: handle email: type: string relatedRecords: type: array items: {} indexedAt: type: string format: date-time moderation: $ref: '#/components/schemas/ToolsOzoneModerationDefsModerationDetail' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' invitedBy: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' invites: type: array items: $ref: '#/components/schemas/ComAtprotoServerDefsInviteCode' invitesDisabled: type: boolean inviteNote: type: string emailConfirmedAt: type: string format: date-time deactivatedAt: type: string format: date-time threatSignatures: type: array items: $ref: '#/components/schemas/ComAtprotoAdminDefsThreatSignature' ToolsOzoneModerationDefsRepoViewNotFound: type: object required: - did properties: did: type: string format: did ToolsOzoneModerationDefsRecordView: type: object required: - uri - cid - value - blobCids - indexedAt - moderation - repo properties: uri: type: string format: at-uri cid: type: string format: cid value: {} blobCids: type: array items: type: string format: cid indexedAt: type: string format: date-time moderation: $ref: '#/components/schemas/ToolsOzoneModerationDefsModeration' repo: $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoView' ToolsOzoneModerationDefsRecordViewDetail: type: object required: - uri - cid - value - blobs - indexedAt - moderation - repo properties: uri: type: string format: at-uri cid: type: string format: cid value: {} blobs: type: array items: $ref: '#/components/schemas/ToolsOzoneModerationDefsBlobView' labels: type: array items: $ref: '#/components/schemas/ComAtprotoLabelDefsLabel' indexedAt: type: string format: date-time moderation: $ref: '#/components/schemas/ToolsOzoneModerationDefsModerationDetail' repo: $ref: '#/components/schemas/ToolsOzoneModerationDefsRepoView' ToolsOzoneModerationDefsRecordViewNotFound: type: object required: - uri properties: uri: type: string format: at-uri ToolsOzoneModerationDefsModeration: type: object properties: subjectStatus: $ref: '#/components/schemas/ToolsOzoneModerationDefsSubjectStatusView' ToolsOzoneModerationDefsModerationDetail: type: object properties: subjectStatus: $ref: '#/components/schemas/ToolsOzoneModerationDefsSubjectStatusView' ToolsOzoneModerationDefsBlobView: type: object required: - cid - mimeType - size - createdAt properties: cid: type: string format: cid mimeType: type: string size: type: integer createdAt: type: string format: date-time details: oneOf: - $ref: '#/components/schemas/ToolsOzoneModerationDefsImageDetails' - $ref: '#/components/schemas/ToolsOzoneModerationDefsVideoDetails' moderation: $ref: '#/components/schemas/ToolsOzoneModerationDefsModeration' ToolsOzoneModerationDefsImageDetails: type: object required: - width - height properties: width: type: integer height: type: integer ToolsOzoneModerationDefsVideoDetails: type: object required: - width - height - length properties: width: type: integer height: type: integer length: type: integer ToolsOzoneModerationDefsAccountHosting: type: object required: - status properties: status: type: string enum: - takendown - suspended - deleted - deactivated - unknown updatedAt: type: string format: date-time createdAt: type: string format: date-time deletedAt: type: string format: date-time deactivatedAt: type: string format: date-time reactivatedAt: type: string format: date-time ToolsOzoneModerationDefsRecordHosting: type: object required: - status properties: status: type: string enum: - deleted - unknown updatedAt: type: string format: date-time createdAt: type: string format: date-time deletedAt: type: string format: date-time ToolsOzoneServerGetConfigServiceConfig: type: object properties: url: type: string format: uri ToolsOzoneServerGetConfigViewerConfig: type: object properties: role: type: string enum: - tools.ozone.team.defs#roleAdmin - tools.ozone.team.defs#roleModerator - tools.ozone.team.defs#roleTriage ToolsOzoneSetDefsSet: type: object required: - name properties: name: type: string minLength: 3 maxLength: 128 description: type: string maxLength: 10240 ToolsOzoneSetDefsSetView: type: object required: - name - setSize - createdAt - updatedAt properties: name: type: string minLength: 3 maxLength: 128 description: type: string maxLength: 10240 setSize: type: integer createdAt: type: string format: date-time updatedAt: type: string format: date-time ToolsOzoneSettingDefsOption: type: object required: - key - value - did - scope - createdBy - lastUpdatedBy properties: key: type: string format: nsid did: type: string format: did value: {} description: type: string maxLength: 10240 createdAt: type: string format: date-time updatedAt: type: string format: date-time managerRole: type: string enum: - tools.ozone.team.defs#roleModerator - tools.ozone.team.defs#roleTriage - tools.ozone.team.defs#roleAdmin scope: type: string enum: - instance - personal createdBy: type: string format: did lastUpdatedBy: type: string format: did ToolsOzoneSignatureDefsSigDetail: type: object required: - property - value properties: property: type: string value: type: string ToolsOzoneSignatureFindRelatedAccountsRelatedAccount: type: object required: - account properties: account: $ref: '#/components/schemas/ComAtprotoAdminDefsAccountView' similarities: type: array items: $ref: '#/components/schemas/ToolsOzoneSignatureDefsSigDetail' ToolsOzoneTeamDefsMember: type: object required: - did - role properties: did: type: string format: did disabled: type: boolean profile: $ref: '#/components/schemas/AppBskyActorDefsProfileViewDetailed' createdAt: type: string format: date-time updatedAt: type: string format: date-time lastUpdatedBy: type: string role: type: string enum: - '#roleAdmin' - '#roleModerator' - '#roleTriage' ToolsOzoneTeamDefsRoleAdmin: type: string format: token description: Admin role. Highest level of access, can perform all actions. ToolsOzoneTeamDefsRoleModerator: type: string format: token description: Moderator role. Can perform most actions. ToolsOzoneTeamDefsRoleTriage: type: string format: token description: Triage role. Mostly intended for monitoring and escalating issues. examples: ActorGetPreferencesResponse200Example: summary: Successful response for actorGetPreferences value: preferences: - enabled: true ActorGetProfileResponse200Example: summary: Successful response for actorGetProfile value: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource banner: https://example.com/resource followersCount: 50 followsCount: 50 ActorGetProfilesResponse200Example: summary: Successful response for actorGetProfiles value: profiles: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource banner: https://example.com/resource followersCount: 50 followsCount: 50 ActorGetSuggestionsResponse200Example: summary: Successful response for actorGetSuggestions value: actors: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ ActorPutPreferencesRequestExample: summary: Example request for actorPutPreferences value: preferences: - enabled: true ActorSearchActorsResponse200Example: summary: Successful response for actorSearchActors value: actors: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ ActorSearchActorsTypeaheadResponse200Example: summary: Successful response for actorSearchActorsTypeahead value: actors: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} viewer: muted: true mutedByList: {} blockedBy: true blocking: at://did:plc:example123/app.bsky.feed.post/abc123 blockingByList: {} following: at://did:plc:example123/app.bsky.feed.post/abc123 followedBy: at://did:plc:example123/app.bsky.feed.post/abc123 knownFollowers: {} labels: - src: {} uri: {} val: {} cts: {} ver: {} cid: {} neg: {} exp: {} createdAt: '2024-01-15T12:00:00.000Z' FeedDescribeFeedGeneratorResponse200Example: summary: Successful response for feedDescribeFeedGenerator value: did: did:plc:example123abc feeds: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 links: privacyPolicy: example-privacyPolicy termsOfService: example-termsOfService FeedGetActorFeedsResponse200Example: summary: Successful response for feedGetActorFeeds value: feeds: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example did: did:plc:example123abc creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' displayName: Example Name indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetActorLikesResponse200Example: summary: Successful response for feedGetActorLikes value: feed: - post: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: {} record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: {} replyCount: 50 repostCount: 50 reply: root: {} parent: {} grandparentAuthor: {} reason: by: {} indexedAt: {} feedContext: Example text content cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetAuthorFeedResponse200Example: summary: Successful response for feedGetAuthorFeed value: feed: - post: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: {} record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: {} replyCount: 50 repostCount: 50 reply: root: {} parent: {} grandparentAuthor: {} reason: by: {} indexedAt: {} feedContext: Example text content cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetFeedResponse200Example: summary: Successful response for feedGetFeed value: feed: - post: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: {} record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: {} replyCount: 50 repostCount: 50 reply: root: {} parent: {} grandparentAuthor: {} reason: by: {} indexedAt: {} feedContext: Example text content cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetFeedGeneratorResponse200Example: summary: Successful response for feedGetFeedGenerator value: view: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example did: did:plc:example123abc creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: {} feedgens: {} starterPacks: {} labeler: {} chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' displayName: Example Name indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: [] isOnline: true isValid: true FeedGetFeedGeneratorsResponse200Example: summary: Successful response for feedGetFeedGenerators value: feeds: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example did: did:plc:example123abc creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' displayName: Example Name indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: {} FeedGetFeedSkeletonResponse200Example: summary: Successful response for feedGetFeedSkeleton value: feed: - post: at://did:plc:example123/app.bsky.feed.post/abc123 reason: repost: {} feedContext: Example text content cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetLikesResponse200Example: summary: Successful response for feedGetLikes value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 likes: - indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' actor: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cid: bafyreiabc123example cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetListFeedResponse200Example: summary: Successful response for feedGetListFeed value: feed: - post: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: {} record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: {} replyCount: 50 repostCount: 50 reply: root: {} parent: {} grandparentAuthor: {} reason: by: {} indexedAt: {} feedContext: Example text content cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetPostThreadResponse200Example: summary: Successful response for feedGetPostThread value: thread: post: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: {} record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: {} replyCount: 50 repostCount: 50 parent: post: {} parent: {} replies: {} replies: [] threadgate: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example record: {} lists: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example name: Example Name purpose: {} avatar: https://example.com/resource listItemCount: 50 labels: [] viewer: {} FeedGetPostsResponse200Example: summary: Successful response for feedGetPosts value: posts: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] createdAt: '2024-01-15T12:00:00.000Z' record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: images: {} replyCount: 50 repostCount: 50 FeedGetQuotesResponse200Example: summary: Successful response for feedGetQuotes value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 posts: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] createdAt: '2024-01-15T12:00:00.000Z' record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: images: {} replyCount: 50 repostCount: 50 cid: bafyreiabc123example cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetRepostedByResponse200Example: summary: Successful response for feedGetRepostedBy value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 repostedBy: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cid: bafyreiabc123example cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetSuggestedFeedsResponse200Example: summary: Successful response for feedGetSuggestedFeeds value: feeds: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example did: did:plc:example123abc creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' displayName: Example Name indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedGetTimelineResponse200Example: summary: Successful response for feedGetTimeline value: feed: - post: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: {} record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: {} replyCount: 50 repostCount: 50 reply: root: {} parent: {} grandparentAuthor: {} reason: by: {} indexedAt: {} feedContext: Example text content cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ FeedSearchPostsResponse200Example: summary: Successful response for feedSearchPosts value: posts: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] createdAt: '2024-01-15T12:00:00.000Z' record: {} indexedAt: '2024-01-15T12:00:00.000Z' embed: images: {} replyCount: 50 repostCount: 50 cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ hitsTotal: 50 FeedSendInteractionsRequestExample: summary: Example request for feedSendInteractions value: interactions: - item: at://did:plc:example123/app.bsky.feed.post/abc123 event: app.bsky.feed.defs#requestLess feedContext: Example text content FeedSendInteractionsResponse200Example: summary: Successful response for feedSendInteractions value: _unknown_: {} GraphGetActorStarterPacksResponse200Example: summary: Successful response for graphGetActorStarterPacks value: starterPacks: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example record: {} creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] createdAt: '2024-01-15T12:00:00.000Z' indexedAt: '2024-01-15T12:00:00.000Z' listItemCount: 50 joinedWeekCount: 50 joinedAllTimeCount: 50 cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetBlocksResponse200Example: summary: Successful response for graphGetBlocks value: blocks: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetFollowersResponse200Example: summary: Successful response for graphGetFollowers value: subject: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: allowIncoming: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' followers: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetFollowsResponse200Example: summary: Successful response for graphGetFollows value: subject: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: allowIncoming: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' follows: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetKnownFollowersResponse200Example: summary: Successful response for graphGetKnownFollowers value: subject: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: allowIncoming: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' followers: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetListResponse200Example: summary: Successful response for graphGetList value: list: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: {} feedgens: {} starterPacks: {} labeler: {} chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' name: Example Name purpose: example-token indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: [] items: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 subject: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetListBlocksResponse200Example: summary: Successful response for graphGetListBlocks value: lists: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' name: Example Name purpose: {} indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetListMutesResponse200Example: summary: Successful response for graphGetListMutes value: lists: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' name: Example Name purpose: {} indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetListsResponse200Example: summary: Successful response for graphGetLists value: lists: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' name: Example Name purpose: {} indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: - index: {} features: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetMutesResponse200Example: summary: Successful response for graphGetMutes value: mutes: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ GraphGetRelationshipsResponse200Example: summary: Successful response for graphGetRelationships value: relationships: - did: did:plc:example123abc following: at://did:plc:example123/app.bsky.feed.post/abc123 followedBy: at://did:plc:example123/app.bsky.feed.post/abc123 actor: did:plc:example123abc GraphGetStarterPackResponse200Example: summary: Successful response for graphGetStarterPack value: starterPack: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example record: {} creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: lists: {} feedgens: {} starterPacks: {} labeler: {} chat: {} viewer: muted: {} mutedByList: {} blockedBy: {} blocking: {} blockingByList: {} following: {} followedBy: {} knownFollowers: {} labels: [] createdAt: '2024-01-15T12:00:00.000Z' indexedAt: '2024-01-15T12:00:00.000Z' list: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example name: Example Name purpose: {} avatar: https://example.com/resource listItemCount: 50 labels: [] viewer: muted: {} blocked: {} listItemsSample: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 subject: {} feeds: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example did: did:plc:example123abc creator: {} displayName: Example Name indexedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. descriptionFacets: [] GraphGetStarterPacksResponse200Example: summary: Successful response for graphGetStarterPacks value: starterPacks: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example record: {} creator: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] createdAt: '2024-01-15T12:00:00.000Z' indexedAt: '2024-01-15T12:00:00.000Z' listItemCount: 50 joinedWeekCount: 50 joinedAllTimeCount: 50 GraphGetSuggestedFollowsByActorResponse200Example: summary: Successful response for graphGetSuggestedFollowsByActor value: suggestions: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: lists: 50 feedgens: 50 starterPacks: 50 labeler: true chat: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' isFallback: true GraphMuteActorRequestExample: summary: Example request for graphMuteActor value: actor: user.bsky.social GraphMuteActorListRequestExample: summary: Example request for graphMuteActorList value: list: at://did:plc:example123/app.bsky.feed.post/abc123 GraphMuteThreadRequestExample: summary: Example request for graphMuteThread value: root: at://did:plc:example123/app.bsky.feed.post/abc123 GraphUnmuteActorRequestExample: summary: Example request for graphUnmuteActor value: actor: user.bsky.social GraphUnmuteActorListRequestExample: summary: Example request for graphUnmuteActorList value: list: at://did:plc:example123/app.bsky.feed.post/abc123 GraphUnmuteThreadRequestExample: summary: Example request for graphUnmuteThread value: root: at://did:plc:example123/app.bsky.feed.post/abc123 LabelerGetServicesResponse200Example: summary: Successful response for labelerGetServices value: views: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example creator: did: {} handle: {} displayName: {} description: {} avatar: {} associated: {} indexedAt: {} createdAt: {} indexedAt: '2024-01-15T12:00:00.000Z' likeCount: 50 viewer: like: {} labels: [] NotificationGetUnreadCountResponse200Example: summary: Successful response for notificationGetUnreadCount value: count: 50 NotificationListNotificationsResponse200Example: summary: Successful response for notificationListNotifications value: notifications: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example author: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource associated: {} indexedAt: '2024-01-15T12:00:00.000Z' createdAt: '2024-01-15T12:00:00.000Z' reason: like record: {} isRead: true indexedAt: '2024-01-15T12:00:00.000Z' reasonSubject: at://did:plc:example123/app.bsky.feed.post/abc123 cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ priority: true seenAt: '2024-01-15T12:00:00.000Z' NotificationPutPreferencesRequestExample: summary: Example request for notificationPutPreferences value: priority: true NotificationRegisterPushRequestExample: summary: Example request for notificationRegisterPush value: serviceDid: did:plc:example123abc token: example-token platform: ios appId: example-appId NotificationUpdateSeenRequestExample: summary: Example request for notificationUpdateSeen value: seenAt: '2024-01-15T12:00:00.000Z' VideoGetJobStatusResponse200Example: summary: Successful response for videoGetJobStatus value: jobStatus: jobId: example-jobId did: did:plc:example123abc state: JOB_STATE_COMPLETED progress: 50 blob: example-blob error: example-error message: example-message VideoGetUploadLimitsResponse200Example: summary: Successful response for videoGetUploadLimits value: canUpload: true remainingDailyVideos: 50 remainingDailyBytes: 50 message: example-message error: example-error VideoUploadVideoResponse200Example: summary: Successful response for videoUploadVideo value: jobStatus: jobId: example-jobId did: did:plc:example123abc state: JOB_STATE_COMPLETED progress: 50 blob: example-blob error: example-error message: example-message ChatActorDeleteAccountResponse200Example: summary: Successful response for chatActorDeleteAccount value: _unknown_: {} ChatConvoDeleteMessageForSelfRequestExample: summary: Example request for chatConvoDeleteMessageForSelf value: convoId: example-convoId messageId: example-messageId ChatConvoDeleteMessageForSelfResponse200Example: summary: Successful response for chatConvoDeleteMessageForSelf value: id: example-id rev: example-rev sender: did: did:plc:example123abc sentAt: '2024-01-15T12:00:00.000Z' ChatConvoGetConvoResponse200Example: summary: Successful response for chatConvoGetConvo value: convo: id: example-id rev: example-rev members: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] chatDisabled: true muted: true unreadCount: 50 lastMessage: id: example-id rev: example-rev text: Example text content sender: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} opened: true ChatConvoGetConvoForMembersResponse200Example: summary: Successful response for chatConvoGetConvoForMembers value: convo: id: example-id rev: example-rev members: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] chatDisabled: true muted: true unreadCount: 50 lastMessage: id: example-id rev: example-rev text: Example text content sender: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} opened: true ChatConvoGetLogResponse200Example: summary: Successful response for chatConvoGetLog value: logs: - rev: example-rev convoId: example-convoId cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ ChatConvoGetMessagesResponse200Example: summary: Successful response for chatConvoGetMessages value: messages: - id: example-id rev: example-rev text: Example text content sender: did: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ ChatConvoLeaveConvoRequestExample: summary: Example request for chatConvoLeaveConvo value: convoId: example-convoId ChatConvoLeaveConvoResponse200Example: summary: Successful response for chatConvoLeaveConvo value: convoId: example-convoId rev: example-rev ChatConvoListConvosResponse200Example: summary: Successful response for chatConvoListConvos value: convos: - id: example-id rev: example-rev members: - did: {} handle: {} displayName: {} avatar: {} associated: {} viewer: {} labels: {} chatDisabled: {} muted: true unreadCount: 50 lastMessage: id: {} rev: {} text: {} sender: {} sentAt: {} facets: {} embed: {} opened: true cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ ChatConvoMuteConvoRequestExample: summary: Example request for chatConvoMuteConvo value: convoId: example-convoId ChatConvoMuteConvoResponse200Example: summary: Successful response for chatConvoMuteConvo value: convo: id: example-id rev: example-rev members: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] chatDisabled: true muted: true unreadCount: 50 lastMessage: id: example-id rev: example-rev text: Example text content sender: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} opened: true ChatConvoSendMessageRequestExample: summary: Example request for chatConvoSendMessage value: convoId: example-convoId message: text: Example text content facets: - index: {} features: [] embed: record: {} ChatConvoSendMessageResponse200Example: summary: Successful response for chatConvoSendMessage value: id: example-id rev: example-rev text: Example text content sender: did: did:plc:example123abc sentAt: '2024-01-15T12:00:00.000Z' facets: - index: byteStart: {} byteEnd: {} features: [] embed: record: {} ChatConvoSendMessageBatchRequestExample: summary: Example request for chatConvoSendMessageBatch value: items: - convoId: example-convoId message: text: Example text content facets: [] embed: {} ChatConvoSendMessageBatchResponse200Example: summary: Successful response for chatConvoSendMessageBatch value: items: - id: example-id rev: example-rev text: Example text content sender: did: did:plc:example123abc sentAt: '2024-01-15T12:00:00.000Z' facets: - index: {} features: {} embed: record: {} ChatConvoUnmuteConvoRequestExample: summary: Example request for chatConvoUnmuteConvo value: convoId: example-convoId ChatConvoUnmuteConvoResponse200Example: summary: Successful response for chatConvoUnmuteConvo value: convo: id: example-id rev: example-rev members: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] chatDisabled: true muted: true unreadCount: 50 lastMessage: id: example-id rev: example-rev text: Example text content sender: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} opened: true ChatConvoUpdateReadRequestExample: summary: Example request for chatConvoUpdateRead value: convoId: example-convoId messageId: example-messageId ChatConvoUpdateReadResponse200Example: summary: Successful response for chatConvoUpdateRead value: convo: id: example-id rev: example-rev members: - did: did:plc:example123abc handle: user.bsky.social displayName: Example Name avatar: https://example.com/resource associated: {} viewer: {} labels: [] chatDisabled: true muted: true unreadCount: 50 lastMessage: id: example-id rev: example-rev text: Example text content sender: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} opened: true ChatModerationGetActorMetadataResponse200Example: summary: Successful response for chatModerationGetActorMetadata value: day: messagesSent: 50 messagesReceived: 50 convos: 50 convosStarted: 50 month: messagesSent: 50 messagesReceived: 50 convos: 50 convosStarted: 50 all: messagesSent: 50 messagesReceived: 50 convos: 50 convosStarted: 50 ChatModerationGetMessageContextResponse200Example: summary: Successful response for chatModerationGetMessageContext value: messages: - id: example-id rev: example-rev text: Example text content sender: did: {} sentAt: '2024-01-15T12:00:00.000Z' facets: [] embed: {} ChatModerationUpdateActorAccessRequestExample: summary: Example request for chatModerationUpdateActorAccess value: actor: did:plc:example123abc allowAccess: true ref: example-ref AdminDeleteAccountRequestExample: summary: Example request for adminDeleteAccount value: did: did:plc:example123abc AdminDisableAccountInvitesRequestExample: summary: Example request for adminDisableAccountInvites value: account: did:plc:example123abc note: example-note AdminDisableInviteCodesRequestExample: summary: Example request for adminDisableInviteCodes value: codes: - example-codes accounts: - example-accounts AdminEnableAccountInvitesRequestExample: summary: Example request for adminEnableAccountInvites value: account: did:plc:example123abc note: example-note AdminGetAccountInfoResponse200Example: summary: Successful response for adminGetAccountInfo value: did: did:plc:example123abc handle: user.bsky.social indexedAt: '2024-01-15T12:00:00.000Z' email: user@example.com relatedRecords: [] invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: - usedBy: {} usedAt: {} invites: - code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: [] invitesDisabled: true AdminGetAccountInfosResponse200Example: summary: Successful response for adminGetAccountInfos value: infos: - did: did:plc:example123abc handle: user.bsky.social indexedAt: '2024-01-15T12:00:00.000Z' email: user@example.com relatedRecords: [] invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: [] invites: - code: {} available: {} disabled: {} forAccount: {} createdBy: {} createdAt: {} uses: {} invitesDisabled: true AdminGetInviteCodesResponse200Example: summary: Successful response for adminGetInviteCodes value: codes: - code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: - usedBy: {} usedAt: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ AdminGetSubjectStatusResponse200Example: summary: Successful response for adminGetSubjectStatus value: subject: did: did:plc:example123abc takedown: applied: true ref: example-ref deactivated: applied: true ref: example-ref AdminSearchAccountsResponse200Example: summary: Successful response for adminSearchAccounts value: accounts: - did: did:plc:example123abc handle: user.bsky.social indexedAt: '2024-01-15T12:00:00.000Z' email: user@example.com relatedRecords: [] invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: [] invites: - code: {} available: {} disabled: {} forAccount: {} createdBy: {} createdAt: {} uses: {} invitesDisabled: true cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ AdminSendEmailRequestExample: summary: Example request for adminSendEmail value: recipientDid: did:plc:example123abc content: example-content senderDid: did:plc:example123abc subject: at://did:plc:example123/app.bsky.feed.post/abc123 comment: example-comment AdminSendEmailResponse200Example: summary: Successful response for adminSendEmail value: sent: true AdminUpdateAccountEmailRequestExample: summary: Example request for adminUpdateAccountEmail value: account: user.bsky.social email: user@example.com AdminUpdateAccountHandleRequestExample: summary: Example request for adminUpdateAccountHandle value: did: did:plc:example123abc handle: user.bsky.social AdminUpdateAccountPasswordRequestExample: summary: Example request for adminUpdateAccountPassword value: did: did:plc:example123abc password: example-password AdminUpdateSubjectStatusRequestExample: summary: Example request for adminUpdateSubjectStatus value: subject: did: did:plc:example123abc takedown: applied: true ref: example-ref deactivated: applied: true ref: example-ref AdminUpdateSubjectStatusResponse200Example: summary: Successful response for adminUpdateSubjectStatus value: subject: did: did:plc:example123abc takedown: applied: true ref: example-ref IdentityGetRecommendedDidCredentialsResponse200Example: summary: Successful response for identityGetRecommendedDidCredentials value: rotationKeys: - example-rotationKeys alsoKnownAs: - example-alsoKnownAs verificationMethods: {} services: {} IdentityResolveHandleResponse200Example: summary: Successful response for identityResolveHandle value: did: did:plc:example123abc IdentitySignPlcOperationRequestExample: summary: Example request for identitySignPlcOperation value: token: example-token rotationKeys: - example-rotationKeys alsoKnownAs: - example-alsoKnownAs verificationMethods: {} services: {} IdentitySignPlcOperationResponse200Example: summary: Successful response for identitySignPlcOperation value: operation: {} IdentitySubmitPlcOperationRequestExample: summary: Example request for identitySubmitPlcOperation value: operation: {} IdentityUpdateHandleRequestExample: summary: Example request for identityUpdateHandle value: handle: user.bsky.social LabelQueryLabelsResponse200Example: summary: Successful response for labelQueryLabels value: labels: - src: did:plc:example123abc uri: https://example.com/resource val: example-val cts: '2024-01-15T12:00:00.000Z' ver: 50 cid: bafyreiabc123example neg: true exp: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ ModerationCreateReportRequestExample: summary: Example request for moderationCreateReport value: reasonType: example-token subject: did: did:plc:example123abc reason: Example reason ModerationCreateReportResponse200Example: summary: Successful response for moderationCreateReport value: id: 50 reasonType: example-token subject: did: did:plc:example123abc reportedBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' reason: Example reason RepoApplyWritesRequestExample: summary: Example request for repoApplyWrites value: repo: user.bsky.social writes: - collection: app.bsky.feed.post value: {} rkey: example-rkey validate: true swapCommit: bafyreiabc123example RepoApplyWritesResponse200Example: summary: Successful response for repoApplyWrites value: commit: cid: bafyreiabc123example rev: example-rev results: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example validationStatus: valid RepoCreateRecordRequestExample: summary: Example request for repoCreateRecord value: repo: user.bsky.social collection: app.bsky.feed.post record: {} rkey: example-rkey validate: true swapCommit: bafyreiabc123example RepoCreateRecordResponse200Example: summary: Successful response for repoCreateRecord value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example commit: cid: bafyreiabc123example rev: example-rev validationStatus: valid RepoDeleteRecordRequestExample: summary: Example request for repoDeleteRecord value: repo: user.bsky.social collection: app.bsky.feed.post rkey: example-rkey swapRecord: bafyreiabc123example swapCommit: bafyreiabc123example RepoDeleteRecordResponse200Example: summary: Successful response for repoDeleteRecord value: commit: cid: bafyreiabc123example rev: example-rev RepoDescribeRepoResponse200Example: summary: Successful response for repoDescribeRepo value: handle: user.bsky.social did: did:plc:example123abc didDoc: {} collections: - app.bsky.feed.post handleIsCorrect: true RepoGetRecordResponse200Example: summary: Successful response for repoGetRecord value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 value: {} cid: bafyreiabc123example RepoListMissingBlobsResponse200Example: summary: Successful response for repoListMissingBlobs value: blobs: - cid: bafyreiabc123example recordUri: at://did:plc:example123/app.bsky.feed.post/abc123 cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ RepoListRecordsResponse200Example: summary: Successful response for repoListRecords value: records: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example value: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ RepoPutRecordRequestExample: summary: Example request for repoPutRecord value: repo: user.bsky.social collection: app.bsky.feed.post rkey: example-rkey record: {} validate: true swapRecord: bafyreiabc123example swapCommit: bafyreiabc123example RepoPutRecordResponse200Example: summary: Successful response for repoPutRecord value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example commit: cid: bafyreiabc123example rev: example-rev validationStatus: valid RepoUploadBlobResponse200Example: summary: Successful response for repoUploadBlob value: blob: example-blob ServerCheckAccountStatusResponse200Example: summary: Successful response for serverCheckAccountStatus value: activated: true validDid: true repoCommit: bafyreiabc123example repoRev: example-repoRev repoBlocks: 50 indexedRecords: 50 privateStateValues: 50 expectedBlobs: 50 importedBlobs: 50 ServerConfirmEmailRequestExample: summary: Example request for serverConfirmEmail value: email: user@example.com token: example-token ServerCreateAccountRequestExample: summary: Example request for serverCreateAccount value: handle: user.bsky.social email: user@example.com did: did:plc:example123abc inviteCode: example-inviteCode verificationCode: example-verificationCode verificationPhone: example-verificationPhone password: example-password recoveryKey: example-recoveryKey ServerCreateAccountResponse200Example: summary: Successful response for serverCreateAccount value: accessJwt: example-accessJwt refreshJwt: example-refreshJwt handle: user.bsky.social did: did:plc:example123abc didDoc: {} ServerCreateAppPasswordRequestExample: summary: Example request for serverCreateAppPassword value: name: Example Name privileged: true ServerCreateAppPasswordResponse200Example: summary: Successful response for serverCreateAppPassword value: name: Example Name password: example-password createdAt: '2024-01-15T12:00:00.000Z' privileged: true ServerCreateInviteCodeRequestExample: summary: Example request for serverCreateInviteCode value: useCount: 50 forAccount: did:plc:example123abc ServerCreateInviteCodeResponse200Example: summary: Successful response for serverCreateInviteCode value: code: example-code ServerCreateInviteCodesRequestExample: summary: Example request for serverCreateInviteCodes value: codeCount: 1 useCount: 50 forAccounts: - did:plc:example123abc ServerCreateInviteCodesResponse200Example: summary: Successful response for serverCreateInviteCodes value: codes: - account: example-account codes: - example-codes ServerCreateSessionRequestExample: summary: Example request for serverCreateSession value: identifier: example-identifier password: example-password authFactorToken: example-authFactorToken ServerCreateSessionResponse200Example: summary: Successful response for serverCreateSession value: accessJwt: example-accessJwt refreshJwt: example-refreshJwt handle: user.bsky.social did: did:plc:example123abc didDoc: {} email: user@example.com emailConfirmed: true emailAuthFactor: true ServerDeactivateAccountRequestExample: summary: Example request for serverDeactivateAccount value: deleteAfter: '2024-01-15T12:00:00.000Z' ServerDeleteAccountRequestExample: summary: Example request for serverDeleteAccount value: did: did:plc:example123abc password: example-password token: example-token ServerDescribeServerResponse200Example: summary: Successful response for serverDescribeServer value: did: did:plc:example123abc availableUserDomains: - example-availableUserDomains inviteCodeRequired: true phoneVerificationRequired: true links: privacyPolicy: https://example.com/resource termsOfService: https://example.com/resource contact: email: user@example.com ServerGetAccountInviteCodesResponse200Example: summary: Successful response for serverGetAccountInviteCodes value: codes: - code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: - usedBy: {} usedAt: {} ServerGetServiceAuthResponse200Example: summary: Successful response for serverGetServiceAuth value: token: example-token ServerGetSessionResponse200Example: summary: Successful response for serverGetSession value: handle: user.bsky.social did: did:plc:example123abc email: user@example.com emailConfirmed: true emailAuthFactor: true didDoc: {} active: true status: takendown ServerListAppPasswordsResponse200Example: summary: Successful response for serverListAppPasswords value: passwords: - name: Example Name createdAt: '2024-01-15T12:00:00.000Z' privileged: true ServerRefreshSessionResponse200Example: summary: Successful response for serverRefreshSession value: accessJwt: example-accessJwt refreshJwt: example-refreshJwt handle: user.bsky.social did: did:plc:example123abc didDoc: {} active: true status: takendown ServerRequestEmailUpdateResponse200Example: summary: Successful response for serverRequestEmailUpdate value: tokenRequired: true ServerRequestPasswordResetRequestExample: summary: Example request for serverRequestPasswordReset value: email: user@example.com ServerReserveSigningKeyRequestExample: summary: Example request for serverReserveSigningKey value: did: did:plc:example123abc ServerReserveSigningKeyResponse200Example: summary: Successful response for serverReserveSigningKey value: signingKey: example-signingKey ServerResetPasswordRequestExample: summary: Example request for serverResetPassword value: token: example-token password: example-password ServerRevokeAppPasswordRequestExample: summary: Example request for serverRevokeAppPassword value: name: Example Name ServerUpdateEmailRequestExample: summary: Example request for serverUpdateEmail value: email: user@example.com emailAuthFactor: true token: example-token SyncGetLatestCommitResponse200Example: summary: Successful response for syncGetLatestCommit value: cid: bafyreiabc123example rev: example-rev SyncGetRepoStatusResponse200Example: summary: Successful response for syncGetRepoStatus value: did: did:plc:example123abc active: true status: takendown rev: example-rev SyncListBlobsResponse200Example: summary: Successful response for syncListBlobs value: cids: - bafyreiabc123example cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ SyncListReposResponse200Example: summary: Successful response for syncListRepos value: repos: - did: did:plc:example123abc head: bafyreiabc123example rev: example-rev active: true status: takendown cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ SyncNotifyOfUpdateRequestExample: summary: Example request for syncNotifyOfUpdate value: hostname: Example Name SyncRequestCrawlRequestExample: summary: Example request for syncRequestCrawl value: hostname: Example Name OzoneCommunicationCreateTemplateRequestExample: summary: Example request for ozoneCommunicationCreateTemplate value: subject: at://did:plc:example123/app.bsky.feed.post/abc123 contentMarkdown: example-contentMarkdown name: Example Name lang: en createdBy: did:plc:example123abc OzoneCommunicationCreateTemplateResponse200Example: summary: Successful response for ozoneCommunicationCreateTemplate value: id: example-id name: Example Name contentMarkdown: example-contentMarkdown disabled: true lastUpdatedBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' subject: at://did:plc:example123/app.bsky.feed.post/abc123 OzoneCommunicationDeleteTemplateRequestExample: summary: Example request for ozoneCommunicationDeleteTemplate value: id: example-id OzoneCommunicationListTemplatesResponse200Example: summary: Successful response for ozoneCommunicationListTemplates value: communicationTemplates: - id: example-id name: Example Name contentMarkdown: example-contentMarkdown disabled: true lastUpdatedBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' subject: at://did:plc:example123/app.bsky.feed.post/abc123 OzoneCommunicationUpdateTemplateRequestExample: summary: Example request for ozoneCommunicationUpdateTemplate value: id: example-id name: Example Name lang: en contentMarkdown: example-contentMarkdown subject: at://did:plc:example123/app.bsky.feed.post/abc123 updatedBy: did:plc:example123abc disabled: true OzoneCommunicationUpdateTemplateResponse200Example: summary: Successful response for ozoneCommunicationUpdateTemplate value: id: example-id name: Example Name contentMarkdown: example-contentMarkdown disabled: true lastUpdatedBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' subject: at://did:plc:example123/app.bsky.feed.post/abc123 OzoneModerationEmitEventRequestExample: summary: Example request for ozoneModerationEmitEvent value: event: comment: example-comment durationInHours: 50 acknowledgeAccountSubjects: true subject: did: did:plc:example123abc createdBy: did:plc:example123abc subjectBlobCids: - bafyreiabc123example OzoneModerationEmitEventResponse200Example: summary: Successful response for ozoneModerationEmitEvent value: id: 50 event: comment: example-comment durationInHours: 50 acknowledgeAccountSubjects: true subject: did: did:plc:example123abc subjectBlobCids: - at://did:plc:example123/app.bsky.feed.post/abc123 createdBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' creatorHandle: example-creatorHandle subjectHandle: at://did:plc:example123/app.bsky.feed.post/abc123 OzoneModerationGetEventResponse200Example: summary: Successful response for ozoneModerationGetEvent value: id: 50 event: comment: example-comment durationInHours: 50 acknowledgeAccountSubjects: true subject: did: did:plc:example123abc handle: user.bsky.social relatedRecords: [] indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: {} email: user@example.com invitedBy: code: {} available: {} disabled: {} forAccount: {} createdBy: {} createdAt: {} uses: {} invitesDisabled: true subjectBlobs: - cid: bafyreiabc123example mimeType: example-mimeType size: 50 createdAt: '2024-01-15T12:00:00.000Z' details: {} moderation: subjectStatus: {} createdBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' OzoneModerationGetRecordResponse200Example: summary: Successful response for ozoneModerationGetRecord value: uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example value: {} blobs: - cid: bafyreiabc123example mimeType: example-mimeType size: 50 createdAt: '2024-01-15T12:00:00.000Z' details: {} moderation: subjectStatus: {} indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: id: 50 subject: {} createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' reviewState: {} hosting: {} subjectBlobCids: [] subjectRepoHandle: at://did:plc:example123/app.bsky.feed.post/abc123 repo: did: did:plc:example123abc handle: user.bsky.social relatedRecords: [] indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: {} email: user@example.com invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: [] invitesDisabled: true labels: - src: did:plc:example123abc uri: https://example.com/resource val: example-val cts: '2024-01-15T12:00:00.000Z' ver: 50 cid: bafyreiabc123example neg: true exp: '2024-01-15T12:00:00.000Z' OzoneModerationGetRecordsResponse200Example: summary: Successful response for ozoneModerationGetRecords value: records: - uri: at://did:plc:example123/app.bsky.feed.post/abc123 cid: bafyreiabc123example value: {} blobs: [] indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: {} repo: did: {} handle: {} relatedRecords: {} indexedAt: {} moderation: {} email: {} invitedBy: {} invitesDisabled: {} labels: [] OzoneModerationGetRepoResponse200Example: summary: Successful response for ozoneModerationGetRepo value: did: did:plc:example123abc handle: user.bsky.social relatedRecords: [] indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: id: 50 subject: {} createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' reviewState: {} hosting: {} subjectBlobCids: [] subjectRepoHandle: at://did:plc:example123/app.bsky.feed.post/abc123 email: user@example.com labels: - src: did:plc:example123abc uri: https://example.com/resource val: example-val cts: '2024-01-15T12:00:00.000Z' ver: 50 cid: bafyreiabc123example neg: true exp: '2024-01-15T12:00:00.000Z' invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: - usedBy: {} usedAt: {} OzoneModerationGetReposResponse200Example: summary: Successful response for ozoneModerationGetRepos value: repos: - did: did:plc:example123abc handle: user.bsky.social relatedRecords: [] indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: {} email: user@example.com labels: [] invitedBy: code: {} available: {} disabled: {} forAccount: {} createdBy: {} createdAt: {} uses: {} OzoneModerationQueryEventsResponse200Example: summary: Successful response for ozoneModerationQueryEvents value: events: - id: 50 event: comment: {} durationInHours: {} acknowledgeAccountSubjects: {} subject: did: {} subjectBlobCids: - at://did:plc:example123/app.bsky.feed.post/abc123 createdBy: did:plc:example123abc createdAt: '2024-01-15T12:00:00.000Z' creatorHandle: example-creatorHandle subjectHandle: at://did:plc:example123/app.bsky.feed.post/abc123 cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneModerationQueryStatusesResponse200Example: summary: Successful response for ozoneModerationQueryStatuses value: subjectStatuses: - id: 50 subject: did: {} createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' reviewState: '#reviewOpen' hosting: status: {} updatedAt: {} createdAt: {} deletedAt: {} deactivatedAt: {} reactivatedAt: {} subjectBlobCids: - bafyreiabc123example subjectRepoHandle: at://did:plc:example123/app.bsky.feed.post/abc123 cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneModerationSearchReposResponse200Example: summary: Successful response for ozoneModerationSearchRepos value: repos: - did: did:plc:example123abc handle: user.bsky.social relatedRecords: [] indexedAt: '2024-01-15T12:00:00.000Z' moderation: subjectStatus: {} email: user@example.com invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: [] invitesDisabled: true cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneServerGetConfigResponse200Example: summary: Successful response for ozoneServerGetConfig value: appview: url: https://example.com/resource pds: url: https://example.com/resource blobDivert: url: https://example.com/resource chat: url: https://example.com/resource viewer: role: tools.ozone.team.defs#roleAdmin OzoneSetAddValuesRequestExample: summary: Example request for ozoneSetAddValues value: name: Example Name values: - example-values OzoneSetDeleteSetRequestExample: summary: Example request for ozoneSetDeleteSet value: name: Example Name OzoneSetDeleteSetResponse200Example: summary: Successful response for ozoneSetDeleteSet value: _unknown_: {} OzoneSetDeleteValuesRequestExample: summary: Example request for ozoneSetDeleteValues value: name: Example Name values: - example-values OzoneSetGetValuesResponse200Example: summary: Successful response for ozoneSetGetValues value: set: name: Example Name setSize: 50 createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. values: - example-values cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneSetQuerySetsResponse200Example: summary: Successful response for ozoneSetQuerySets value: sets: - name: Example Name setSize: 50 createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneSetUpsertSetRequestExample: summary: Example request for ozoneSetUpsertSet value: name: Example Name description: This is an example description. OzoneSetUpsertSetResponse200Example: summary: Successful response for ozoneSetUpsertSet value: name: Example Name setSize: 50 createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' description: This is an example description. OzoneSettingListOptionsResponse200Example: summary: Successful response for ozoneSettingListOptions value: options: - key: app.bsky.feed.post value: {} did: did:plc:example123abc scope: instance createdBy: did:plc:example123abc lastUpdatedBy: did:plc:example123abc description: This is an example description. createdAt: '2024-01-15T12:00:00.000Z' cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneSettingRemoveOptionsRequestExample: summary: Example request for ozoneSettingRemoveOptions value: keys: - app.bsky.feed.post scope: instance OzoneSettingUpsertOptionRequestExample: summary: Example request for ozoneSettingUpsertOption value: key: app.bsky.feed.post scope: instance value: {} description: This is an example description. managerRole: tools.ozone.team.defs#roleModerator OzoneSettingUpsertOptionResponse200Example: summary: Successful response for ozoneSettingUpsertOption value: option: key: app.bsky.feed.post value: {} did: did:plc:example123abc scope: instance createdBy: did:plc:example123abc lastUpdatedBy: did:plc:example123abc description: This is an example description. createdAt: '2024-01-15T12:00:00.000Z' OzoneSignatureFindCorrelationResponse200Example: summary: Successful response for ozoneSignatureFindCorrelation value: details: - property: example-property value: example-value OzoneSignatureFindRelatedAccountsResponse200Example: summary: Successful response for ozoneSignatureFindRelatedAccounts value: accounts: - account: did: did:plc:example123abc handle: user.bsky.social indexedAt: '2024-01-15T12:00:00.000Z' email: user@example.com relatedRecords: [] invitedBy: {} invites: [] invitesDisabled: true similarities: - property: {} value: {} cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneSignatureSearchAccountsResponse200Example: summary: Successful response for ozoneSignatureSearchAccounts value: accounts: - did: did:plc:example123abc handle: user.bsky.social indexedAt: '2024-01-15T12:00:00.000Z' email: user@example.com relatedRecords: [] invitedBy: code: example-code available: 50 disabled: true forAccount: example-forAccount createdBy: example-createdBy createdAt: '2024-01-15T12:00:00.000Z' uses: [] invites: - code: {} available: {} disabled: {} forAccount: {} createdBy: {} createdAt: {} uses: {} invitesDisabled: true cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneTeamAddMemberRequestExample: summary: Example request for ozoneTeamAddMember value: did: did:plc:example123abc role: tools.ozone.team.defs#roleAdmin OzoneTeamAddMemberResponse200Example: summary: Successful response for ozoneTeamAddMember value: did: did:plc:example123abc role: '#roleAdmin' disabled: true profile: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource banner: https://example.com/resource followersCount: 50 followsCount: 50 createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' lastUpdatedBy: example-lastUpdatedBy OzoneTeamDeleteMemberRequestExample: summary: Example request for ozoneTeamDeleteMember value: did: did:plc:example123abc OzoneTeamListMembersResponse200Example: summary: Successful response for ozoneTeamListMembers value: members: - did: did:plc:example123abc role: '#roleAdmin' disabled: true profile: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource banner: https://example.com/resource followersCount: 50 followsCount: 50 createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' lastUpdatedBy: example-lastUpdatedBy cursor: eyJsYXN0SWQiOiIxMjM0NTYifQ OzoneTeamUpdateMemberRequestExample: summary: Example request for ozoneTeamUpdateMember value: did: did:plc:example123abc disabled: true role: tools.ozone.team.defs#roleAdmin OzoneTeamUpdateMemberResponse200Example: summary: Successful response for ozoneTeamUpdateMember value: did: did:plc:example123abc role: '#roleAdmin' disabled: true profile: did: did:plc:example123abc handle: user.bsky.social displayName: Example Name description: This is an example description. avatar: https://example.com/resource banner: https://example.com/resource followersCount: 50 followsCount: 50 createdAt: '2024-01-15T12:00:00.000Z' updatedAt: '2024-01-15T12:00:00.000Z' lastUpdatedBy: example-lastUpdatedBy securitySchemes: Bearer: type: http scheme: bearer