{ "opencollection": "1.0.0", "info": { "name": "Bluesky Social Actor Profiles Repository API", "version": "1.0.0" }, "items": [ { "info": { "name": "Repository", "type": "folder" }, "items": [ { "info": { "name": "Bluesky Apply a batch transaction of repository creates, updates, and deletes.", "type": "http" }, "http": { "method": "POST", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.applyWrites", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nApply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS." }, { "info": { "name": "Bluesky Create a single new repository record.", "type": "http" }, "http": { "method": "POST", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.createRecord", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nCreate a single new repository record. Requires auth, implemented by PDS." }, { "info": { "name": "Bluesky Delete a repository record, or ensure it doesn't exist.", "type": "http" }, "http": { "method": "POST", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.deleteRecord", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nDelete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS." }, { "info": { "name": "Bluesky Get information about an account and repository, including the list of collections.", "type": "http" }, "http": { "method": "GET", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.describeRepo", "params": [ { "name": "repo", "value": "user.bsky.social", "type": "query", "description": "The handle or DID of the repo." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nGet information about an account and repository, including the list of collections. Does not require auth." }, { "info": { "name": "Bluesky Get a single record from a repository.", "type": "http" }, "http": { "method": "GET", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.getRecord", "params": [ { "name": "repo", "value": "user.bsky.social", "type": "query", "description": "The handle or DID of the repo." }, { "name": "collection", "value": "app.bsky.feed.post", "type": "query", "description": "The NSID of the record collection." }, { "name": "rkey", "value": "example-rkey", "type": "query", "description": "The Record Key." }, { "name": "cid", "value": "bafyreiabc123example", "type": "query", "description": "The CID of the version of the record. If not specified, then return the most recent version." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nGet a single record from a repository. Does not require auth." }, { "info": { "name": "Bluesky Import a repo in the form of a CAR file.", "type": "http" }, "http": { "method": "POST", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.importRepo", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nImport a repo in the form of a CAR file. Requires Content-Length HTTP header to be set." }, { "info": { "name": "Bluesky Returns a list of missing blobs for the requesting account.", "type": "http" }, "http": { "method": "GET", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.listMissingBlobs", "params": [ { "name": "limit", "value": "500", "type": "query" }, { "name": "cursor", "value": "eyJsYXN0SWQiOiIxMjM0NTYifQ", "type": "query" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nReturns a list of missing blobs for the requesting account. Intended to be used in the account migration flow." }, { "info": { "name": "Bluesky List a range of records in a repository, matching a specific collection.", "type": "http" }, "http": { "method": "GET", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.listRecords", "params": [ { "name": "repo", "value": "user.bsky.social", "type": "query", "description": "The handle or DID of the repo." }, { "name": "collection", "value": "app.bsky.feed.post", "type": "query", "description": "The NSID of the record type." }, { "name": "limit", "value": "50", "type": "query", "description": "The number of records to return." }, { "name": "cursor", "value": "eyJsYXN0SWQiOiIxMjM0NTYifQ", "type": "query" }, { "name": "reverse", "value": "true", "type": "query", "description": "Flag to reverse the order of the returned records." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nList a range of records in a repository, matching a specific collection. Does not require auth." }, { "info": { "name": "Bluesky Write a repository record, creating or updating it as needed.", "type": "http" }, "http": { "method": "POST", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.putRecord", "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nWrite a repository record, creating or updating it as needed. Requires auth, implemented by PDS." }, { "info": { "name": "Bluesky Upload a new blob, to be referenced from a repository record.", "type": "http" }, "http": { "method": "POST", "url": "https://bsky.social/xrpc/xrpc/com.atproto.repo.uploadBlob", "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "*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.*\n\n*To learn more about calling atproto API endpoints like this one, see the [API Hosts and Auth](/docs/advanced-guides/api-directory) guide.*\n\nUpload 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). B" } ] } ], "bundled": true }