> For the complete documentation index, see [llms.txt](https://docs.planetcrust.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.planetcrust.com/human-connections/bluesky/bluesky.md).

# Bluesky

<p align="center"><a class="button primary" data-icon="circle-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>

<figure><img src="/files/mJhUKtLAiobthslPs0Q4" alt="" width="188"><figcaption></figcaption></figure>

<h3 align="center">Put Bluesky to Work with @Human Automations and @Human Agents</h3>

<p align="center">The Bluesky Connection documents all Triggers, Actions and Query Operations available for creating automations via the Bluesky API.</p>

{% embed url="<https://www.youtube.com/watch?v=CyuUuaBSZzA>" %}

#### What can you do with the Bluesky Connection?

* Connect to the Bluesky API in a few clicks
* Use the related Bluesky Operations (see below) in @Human Automations or @Human Agents

### Related Operations

#### Action Operations

[Action: Like Post](/human-connections/bluesky/bluesky/action-like-post.md)

[Action: Repost Post](/human-connections/bluesky/bluesky/action-repost-post.md)

[Action: Create Post](/human-connections/bluesky/bluesky/action-create-post.md)

#### Query Operations

[Query: Find Thread](/human-connections/bluesky/bluesky/query-find-thread.md)

### Related Automations

Example link

### Obtaining Access Credentials

To obtain a **Personal Access Token (PAT)** for **Bluesky**, follow these steps:

1. **Log in** to your Bluesky account at <https://bsky.app> (ensure you're using the correct account if managing multiple).
2. Navigate to **Settings**:
   * Click your profile icon (top-right).
   * Select **"Settings"** from the dropdown.
3. Go to **App Passwords**:
   * In the left sidebar, select **"App Passwords"** (under "Advanced").
4. **Generate a new token**:
   * Click **"Generate New Password"**.
   * Enter a descriptive name (e.g., "API Access").
   * Click **"Create"**.
5. **Copy the token**:
   * The token will appear **once**—copy it immediately.

***

**Token Scope**: This PAT grants full account access. Use securely.

### Configuring Webhooks

1. **Identify a Relay Endpoint**: Select a public Jetstream relay (e.g., `wss://jetstream2.us-east.bsky.network/subscribe`).
2. **Define Subscription Filters**: Specify the `wantedCollections` (e.g., `app.bsky.feed.post`) using query parameters in the connection URL.
3. **Establish a Persistent Connection**: Open a WebSocket connection to the relay to receive a real-time JSON stream of network activity.
4. **Implement an Event Listener**: Create a consumer service to parse the incoming stream and filter for relevant events.
5. **Forward to a Webhook URL**: Configure your service to execute an HTTP POST request to your target endpoint for each matching event.

### Code (Apache v2.0): Service Connectivity and Metadata

```
{
  "handle": "bluesky-v1",
  "status": "active",
  "meta": {
    "short": "Bluesky",
    "description": "Connect to Bluesky's social networking API to interact with posts, users, and feeds.",
    "icon": "bluesky",
    "tags": ["social", "api", "networking"]
  },
  "service": {
    "baseURL": {
      "value": "https://bsky.social/xrpc/{{endpoint}}"
    },
    "protocol": "https",
    "contentType": "application/json",
    "headers": {
      "Accept": {
        "value": "application/json"
      }
    },
    "auth": {
      "method": "api_token",
      "params": {
        "apiToken": {
          "token": {
            "value": "{{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Bluesky access token for authentication",
                "required": true
              }
            ]
          },
          "headerName": {
            "value": "Authorization"
          }
        }
      }
    }
  }
}

```

### Code (Apache v2.0): List of External Resources and Internal Mapping

```json
[
  {
    "handle": "app-bsky-actor-getPreferences",
    "meta": {
      "short": "getPreferences",
      "description": "Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.getPreferences",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-actor-getProfile",
    "meta": {
      "short": "getProfile",
      "description": "Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.getProfile",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "Handle or DID of account to fetch profile of.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-actor-getProfiles",
    "meta": {
      "short": "getProfiles",
      "description": "Get detailed profile views of multiple actors."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.getProfiles",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actors": {
            "value": "{{actors}}",
            "placeholders": [
              {
                "name": "actors",
                "type": "Integer",
                "description": "actors",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-actor-getSuggestions",
    "meta": {
      "short": "getSuggestions",
      "description": "Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.getSuggestions",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-actor-putPreferences",
    "meta": {
      "short": "putPreferences",
      "description": "Set the private preferences attached to the account."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.putPreferences",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"preferences\": \"{{preferences}}\"}",
          "placeholders": [
            {
              "name": "preferences",
              "type": "Integer",
              "description": "preferences",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-actor-searchActors",
    "meta": {
      "short": "searchActors",
      "description": "Find actors (profiles) matching search criteria. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.searchActors",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "term": {
            "value": "{{term}}",
            "placeholders": [
              {
                "name": "term",
                "type": "String",
                "description": "DEPRECATED: use 'q' instead.",
                "required": false
              }
            ]
          },
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-actor-searchActorsTypeahead",
    "meta": {
      "short": "searchActorsTypeahead",
      "description": "Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.actor.searchActorsTypeahead",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "term": {
            "value": "{{term}}",
            "placeholders": [
              {
                "name": "term",
                "type": "String",
                "description": "DEPRECATED: use 'q' instead.",
                "required": false
              }
            ]
          },
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query prefix; not a full query string.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-ageassurance-begin",
    "meta": {
      "short": "begin",
      "description": "Initiate Age Assurance for an account."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.ageassurance.begin",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"email\": \"{{email}}\", \"language\": \"{{language}}\", \"countryCode\": \"{{countryCode}}\", \"regionCode\": \"{{regionCode}}\"}",
          "placeholders": [
            {
              "name": "email",
              "type": "String",
              "description": "The user's email address to receive Age Assurance instructions.",
              "required": true
            },
            {
              "name": "language",
              "type": "String",
              "description": "The user's preferred language for communication during the Age Assurance process.",
              "required": true
            },
            {
              "name": "countryCode",
              "type": "String",
              "description": "An ISO 3166-1 alpha-2 code of the user's location.",
              "required": true
            },
            {
              "name": "regionCode",
              "type": "String",
              "description": "An optional ISO 3166-2 code of the user's region or state within the country.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-ageassurance-getConfig",
    "meta": {
      "short": "getConfig",
      "description": "Returns Age Assurance configuration for use on the client."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.ageassurance.getConfig",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-ageassurance-getState",
    "meta": {
      "short": "getState",
      "description": "Returns server-computed Age Assurance state, if available, and any additional metadata needed to compute Age Assurance state client-side."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.ageassurance.getState",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "countryCode": {
            "value": "{{countryCode}}",
            "placeholders": [
              {
                "name": "countryCode",
                "type": "String",
                "description": "countryCode",
                "required": true
              }
            ]
          },
          "regionCode": {
            "value": "{{regionCode}}",
            "placeholders": [
              {
                "name": "regionCode",
                "type": "String",
                "description": "regionCode",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-bookmark-createBookmark",
    "meta": {
      "short": "createBookmark",
      "description": "Creates a private bookmark for the specified record. Currently, only `app.bsky.feed.post` records are supported. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.bookmark.createBookmark",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"uri\": \"{{uri}}\", \"cid\": \"{{cid}}\"}",
          "placeholders": [
            {
              "name": "uri",
              "type": "String",
              "description": "uri",
              "required": true
            },
            {
              "name": "cid",
              "type": "String",
              "description": "cid",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-bookmark-deleteBookmark",
    "meta": {
      "short": "deleteBookmark",
      "description": "Deletes a private bookmark for the specified record. Currently, only `app.bsky.feed.post` records are supported. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.bookmark.deleteBookmark",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"uri\": \"{{uri}}\"}",
          "placeholders": [
            {
              "name": "uri",
              "type": "String",
              "description": "uri",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-bookmark-getBookmarks",
    "meta": {
      "short": "getBookmarks",
      "description": "Gets views of records bookmarked by the authenticated user. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.bookmark.getBookmarks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-dismissMatch",
    "meta": {
      "short": "dismissMatch",
      "description": "Removes a match that was found via contact import. It shouldn't appear again if the same contact is re-imported. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.dismissMatch",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"subject\": \"{{subject}}\"}",
          "placeholders": [
            {
              "name": "subject",
              "type": "String",
              "description": "The subject's DID to dismiss the match with.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-getMatches",
    "meta": {
      "short": "getMatches",
      "description": "Returns the matched contacts (contacts that were mutually imported). Excludes dismissed matches. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.getMatches",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-getSyncStatus",
    "meta": {
      "short": "getSyncStatus",
      "description": "Gets the user's current contact import status. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.getSyncStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-importContacts",
    "meta": {
      "short": "importContacts",
      "description": "Import contacts for securely matching with other users. This follows the protocol explained in https://docs.bsky.app/blog/contact-import-rfc. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.importContacts",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"token\": \"{{token}}\", \"contacts\": \"{{contacts}}\"}",
          "placeholders": [
            {
              "name": "token",
              "type": "String",
              "description": "JWT to authenticate the call. Use the JWT received as a response to the call to `app.bsky.contact.verifyPhone`.",
              "required": true
            },
            {
              "name": "contacts",
              "type": "Integer",
              "description": "List of phone numbers in global E.164 format (e.g., '+12125550123'). Phone numbers that cannot be normalized into a valid phone number will be discarded. Should not repeat the 'phone' input used in `app.bsky.contact.verifyPhone`.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-removeData",
    "meta": {
      "short": "removeData",
      "description": "Removes all stored hashes used for contact matching, existing matches, and sync status. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.removeData",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-sendNotification",
    "meta": {
      "short": "sendNotification",
      "description": "System endpoint to send notifications related to contact imports. Requires role authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.sendNotification",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"from\": \"{{from}}\", \"to\": \"{{to}}\"}",
          "placeholders": [
            {
              "name": "from",
              "type": "String",
              "description": "The DID of who this notification comes from.",
              "required": true
            },
            {
              "name": "to",
              "type": "String",
              "description": "The DID of who this notification should go to.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-startPhoneVerification",
    "meta": {
      "short": "startPhoneVerification",
      "description": "Starts a phone verification flow. The phone passed will receive a code via SMS that should be passed to `app.bsky.contact.verifyPhone`. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.startPhoneVerification",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"phone\": \"{{phone}}\"}",
          "placeholders": [
            {
              "name": "phone",
              "type": "String",
              "description": "The phone number to receive the code via SMS.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-contact-verifyPhone",
    "meta": {
      "short": "verifyPhone",
      "description": "Verifies control over a phone number with a code received via SMS and starts a contact import session. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.contact.verifyPhone",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"phone\": \"{{phone}}\", \"code\": \"{{code}}\"}",
          "placeholders": [
            {
              "name": "phone",
              "type": "String",
              "description": "The phone number to verify. Should be the same as the one passed to `app.bsky.contact.startPhoneVerification`.",
              "required": true
            },
            {
              "name": "code",
              "type": "String",
              "description": "The code received via SMS as a result of the call to `app.bsky.contact.startPhoneVerification`.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-draft-createDraft",
    "meta": {
      "short": "createDraft",
      "description": "Inserts a draft using private storage (stash). An upper limit of drafts might be enforced. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.draft.createDraft",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"draft\": \"{{draft}}\"}",
          "placeholders": [
            {
              "name": "draft",
              "type": "Integer",
              "description": "draft",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-draft-deleteDraft",
    "meta": {
      "short": "deleteDraft",
      "description": "Deletes a draft by ID. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.draft.deleteDraft",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"id\": \"{{id}}\"}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "id",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-draft-getDrafts",
    "meta": {
      "short": "getDrafts",
      "description": "Gets views of user drafts. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.draft.getDrafts",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-draft-updateDraft",
    "meta": {
      "short": "updateDraft",
      "description": "Updates a draft using private storage (stash). If the draft ID points to a non-existing ID, the update will be silently ignored. This is done because updates don't enforce draft limit, so it accepts all writes, but will ignore invalid ones. Requires authentication."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.draft.updateDraft",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"draft\": \"{{draft}}\"}",
          "placeholders": [
            {
              "name": "draft",
              "type": "Integer",
              "description": "draft",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-describeFeedGenerator",
    "meta": {
      "short": "describeFeedGenerator",
      "description": "Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View)."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.describeFeedGenerator",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getActorFeeds",
    "meta": {
      "short": "getActorFeeds",
      "description": "Get a list of feeds (feed generator records) created by the actor (in the actor's repo)."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getActorFeeds",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getActorLikes",
    "meta": {
      "short": "getActorLikes",
      "description": "Get a list of posts liked by an actor. Requires auth, actor must be the requesting account."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getActorLikes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getAuthorFeed",
    "meta": {
      "short": "getAuthorFeed",
      "description": "Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getAuthorFeed",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "filter": {
            "value": "{{filter}}",
            "placeholders": [
              {
                "name": "filter",
                "type": "String",
                "description": "Combinations of post/repost types to include in response.",
                "required": false,
                "default": "posts_with_replies"
              }
            ]
          },
          "includePins": {
            "value": "{{includePins}}",
            "placeholders": [
              {
                "name": "includePins",
                "type": "Integer",
                "description": "includePins",
                "required": false,
                "default": "False"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getFeed",
    "meta": {
      "short": "getFeed",
      "description": "Get a hydrated feed from an actor's selected feed generator. Implemented by App View."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getFeed",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "feed": {
            "value": "{{feed}}",
            "placeholders": [
              {
                "name": "feed",
                "type": "String",
                "description": "feed",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getFeedGenerator",
    "meta": {
      "short": "getFeedGenerator",
      "description": "Get information about a feed generator. Implemented by AppView."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getFeedGenerator",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "feed": {
            "value": "{{feed}}",
            "placeholders": [
              {
                "name": "feed",
                "type": "String",
                "description": "AT-URI of the feed generator record.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getFeedGenerators",
    "meta": {
      "short": "getFeedGenerators",
      "description": "Get information about a list of feed generators."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getFeedGenerators",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "feeds": {
            "value": "{{feeds}}",
            "placeholders": [
              {
                "name": "feeds",
                "type": "Integer",
                "description": "feeds",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getFeedSkeleton",
    "meta": {
      "short": "getFeedSkeleton",
      "description": "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."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getFeedSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "feed": {
            "value": "{{feed}}",
            "placeholders": [
              {
                "name": "feed",
                "type": "String",
                "description": "Reference to feed generator record describing the specific feed being requested.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getLikes",
    "meta": {
      "short": "getLikes",
      "description": "Get like records which reference a subject (by AT-URI and CID)."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getLikes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uri": {
            "value": "{{uri}}",
            "placeholders": [
              {
                "name": "uri",
                "type": "String",
                "description": "AT-URI of the subject (eg, a post record).",
                "required": true
              }
            ]
          },
          "cid": {
            "value": "{{cid}}",
            "placeholders": [
              {
                "name": "cid",
                "type": "String",
                "description": "CID of the subject record (aka, specific version of record), to filter likes.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getListFeed",
    "meta": {
      "short": "getListFeed",
      "description": "Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getListFeed",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "list": {
            "value": "{{list}}",
            "placeholders": [
              {
                "name": "list",
                "type": "String",
                "description": "Reference (AT-URI) to the list record.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getPostThread",
    "meta": {
      "short": "getPostThread",
      "description": "Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getPostThread",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uri": {
            "value": "{{uri}}",
            "placeholders": [
              {
                "name": "uri",
                "type": "String",
                "description": "Reference (AT-URI) to post record.",
                "required": true
              }
            ]
          },
          "depth": {
            "value": "{{depth}}",
            "placeholders": [
              {
                "name": "depth",
                "type": "Integer",
                "description": "How many levels of reply depth should be included in response.",
                "required": false,
                "default": "6"
              }
            ]
          },
          "parentHeight": {
            "value": "{{parentHeight}}",
            "placeholders": [
              {
                "name": "parentHeight",
                "type": "Integer",
                "description": "How many levels of parent (and grandparent, etc) post to include.",
                "required": false,
                "default": "80"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getPosts",
    "meta": {
      "short": "getPosts",
      "description": "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getPosts",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uris": {
            "value": "{{uris}}",
            "placeholders": [
              {
                "name": "uris",
                "type": "Integer",
                "description": "List of post AT-URIs to return hydrated views for.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getQuotes",
    "meta": {
      "short": "getQuotes",
      "description": "Get a list of quotes for a given post."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getQuotes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uri": {
            "value": "{{uri}}",
            "placeholders": [
              {
                "name": "uri",
                "type": "String",
                "description": "Reference (AT-URI) of post record",
                "required": true
              }
            ]
          },
          "cid": {
            "value": "{{cid}}",
            "placeholders": [
              {
                "name": "cid",
                "type": "String",
                "description": "If supplied, filters to quotes of specific version (by CID) of the post record.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getRepostedBy",
    "meta": {
      "short": "getRepostedBy",
      "description": "Get a list of reposts for a given post."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getRepostedBy",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uri": {
            "value": "{{uri}}",
            "placeholders": [
              {
                "name": "uri",
                "type": "String",
                "description": "Reference (AT-URI) of post record",
                "required": true
              }
            ]
          },
          "cid": {
            "value": "{{cid}}",
            "placeholders": [
              {
                "name": "cid",
                "type": "String",
                "description": "If supplied, filters to reposts of specific version (by CID) of the post record.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getSuggestedFeeds",
    "meta": {
      "short": "getSuggestedFeeds",
      "description": "Get a list of suggested feeds (feed generators) for the requesting account."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getSuggestedFeeds",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-getTimeline",
    "meta": {
      "short": "getTimeline",
      "description": "Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.getTimeline",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "algorithm": {
            "value": "{{algorithm}}",
            "placeholders": [
              {
                "name": "algorithm",
                "type": "String",
                "description": "Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-searchPosts",
    "meta": {
      "short": "searchPosts",
      "description": "Find posts matching search criteria, returning views of those posts. Note that this API endpoint may require authentication (eg, not public) for some service providers and implementations."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.searchPosts",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.",
                "required": true
              }
            ]
          },
          "sort": {
            "value": "{{sort}}",
            "placeholders": [
              {
                "name": "sort",
                "type": "String",
                "description": "Specifies the ranking order of results.",
                "required": false,
                "default": "latest"
              }
            ]
          },
          "since": {
            "value": "{{since}}",
            "placeholders": [
              {
                "name": "since",
                "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).",
                "required": false
              }
            ]
          },
          "until": {
            "value": "{{until}}",
            "placeholders": [
              {
                "name": "until",
                "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).",
                "required": false
              }
            ]
          },
          "mentions": {
            "value": "{{mentions}}",
            "placeholders": [
              {
                "name": "mentions",
                "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.",
                "required": false
              }
            ]
          },
          "author": {
            "value": "{{author}}",
            "placeholders": [
              {
                "name": "author",
                "type": "String",
                "description": "Filter to posts by the given account. Handles are resolved to DID before query-time.",
                "required": false
              }
            ]
          },
          "lang": {
            "value": "{{lang}}",
            "placeholders": [
              {
                "name": "lang",
                "type": "String",
                "description": "Filter to posts in the given language. Expected to be based on post language field, though server may override language detection.",
                "required": false
              }
            ]
          },
          "domain": {
            "value": "{{domain}}",
            "placeholders": [
              {
                "name": "domain",
                "type": "String",
                "description": "Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization.",
                "required": false
              }
            ]
          },
          "url": {
            "value": "{{url}}",
            "placeholders": [
              {
                "name": "url",
                "type": "String",
                "description": "Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching.",
                "required": false
              }
            ]
          },
          "tag": {
            "value": "{{tag}}",
            "placeholders": [
              {
                "name": "tag",
                "type": "Integer",
                "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
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-feed-sendInteractions",
    "meta": {
      "short": "sendInteractions",
      "description": "Send information about interactions with feed items back to the feed generator that served them."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.feed.sendInteractions",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"feed\": \"{{feed}}\", \"interactions\": \"{{interactions}}\"}",
          "placeholders": [
            {
              "name": "feed",
              "type": "String",
              "description": "feed",
              "required": false
            },
            {
              "name": "interactions",
              "type": "Integer",
              "description": "interactions",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getActorStarterPacks",
    "meta": {
      "short": "getActorStarterPacks",
      "description": "Get a list of starter packs created by the actor."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getActorStarterPacks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getBlocks",
    "meta": {
      "short": "getBlocks",
      "description": "Enumerates which accounts the requesting account is currently blocking. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getBlocks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getFollowers",
    "meta": {
      "short": "getFollowers",
      "description": "Enumerates accounts which follow a specified account (actor)."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getFollowers",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getFollows",
    "meta": {
      "short": "getFollows",
      "description": "Enumerates accounts which a specified account (actor) follows."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getFollows",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getKnownFollowers",
    "meta": {
      "short": "getKnownFollowers",
      "description": "Enumerates accounts which follow a specified account (actor) and are followed by the viewer."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getKnownFollowers",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getList",
    "meta": {
      "short": "getList",
      "description": "Gets a 'view' (with additional context) of a specified list."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getList",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "list": {
            "value": "{{list}}",
            "placeholders": [
              {
                "name": "list",
                "type": "String",
                "description": "Reference (AT-URI) of the list record to hydrate.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getListBlocks",
    "meta": {
      "short": "getListBlocks",
      "description": "Get mod lists that the requesting account (actor) is blocking. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getListBlocks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getListMutes",
    "meta": {
      "short": "getListMutes",
      "description": "Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getListMutes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getLists",
    "meta": {
      "short": "getLists",
      "description": "Enumerates the lists created by a specified account (actor)."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getLists",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "The account (actor) to enumerate lists from.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "purposes": {
            "value": "{{purposes}}",
            "placeholders": [
              {
                "name": "purposes",
                "type": "Integer",
                "description": "Optional filter by list purpose. If not specified, all supported types are returned.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getListsWithMembership",
    "meta": {
      "short": "getListsWithMembership",
      "description": "Enumerates the lists created by the session user, and includes membership information about `actor` in those lists. Only supports curation and moderation lists (no reference lists, used in starter packs). Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getListsWithMembership",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "The account (actor) to check for membership.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "purposes": {
            "value": "{{purposes}}",
            "placeholders": [
              {
                "name": "purposes",
                "type": "Integer",
                "description": "Optional filter by list purpose. If not specified, all supported types are returned.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getMutes",
    "meta": {
      "short": "getMutes",
      "description": "Enumerates accounts that the requesting account (actor) currently has muted. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getMutes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getRelationships",
    "meta": {
      "short": "getRelationships",
      "description": "Enumerates public relationships between one account, and a list of other accounts. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getRelationships",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "Primary account requesting relationships for.",
                "required": true
              }
            ]
          },
          "others": {
            "value": "{{others}}",
            "placeholders": [
              {
                "name": "others",
                "type": "Integer",
                "description": "List of 'other' accounts to be related back to the primary.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getStarterPack",
    "meta": {
      "short": "getStarterPack",
      "description": "Gets a view of a starter pack."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getStarterPack",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "starterPack": {
            "value": "{{starterPack}}",
            "placeholders": [
              {
                "name": "starterPack",
                "type": "String",
                "description": "Reference (AT-URI) of the starter pack record.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getStarterPacks",
    "meta": {
      "short": "getStarterPacks",
      "description": "Get views for a list of starter packs."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getStarterPacks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uris": {
            "value": "{{uris}}",
            "placeholders": [
              {
                "name": "uris",
                "type": "Integer",
                "description": "uris",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getStarterPacksWithMembership",
    "meta": {
      "short": "getStarterPacksWithMembership",
      "description": "Enumerates the starter packs created by the session user, and includes membership information about `actor` in those starter packs. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getStarterPacksWithMembership",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "The account (actor) to check for membership.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-getSuggestedFollowsByActor",
    "meta": {
      "short": "getSuggestedFollowsByActor",
      "description": "Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.getSuggestedFollowsByActor",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "actor": {
            "value": "{{actor}}",
            "placeholders": [
              {
                "name": "actor",
                "type": "String",
                "description": "actor",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-muteActor",
    "meta": {
      "short": "muteActor",
      "description": "Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.muteActor",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"actor\": \"{{actor}}\"}",
          "placeholders": [
            {
              "name": "actor",
              "type": "String",
              "description": "actor",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-muteActorList",
    "meta": {
      "short": "muteActorList",
      "description": "Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.muteActorList",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"list\": \"{{list}}\"}",
          "placeholders": [
            {
              "name": "list",
              "type": "String",
              "description": "list",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-muteThread",
    "meta": {
      "short": "muteThread",
      "description": "Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.muteThread",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"root\": \"{{root}}\"}",
          "placeholders": [
            {
              "name": "root",
              "type": "String",
              "description": "root",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-searchStarterPacks",
    "meta": {
      "short": "searchStarterPacks",
      "description": "Find starter packs matching search criteria. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.searchStarterPacks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-unmuteActor",
    "meta": {
      "short": "unmuteActor",
      "description": "Unmutes the specified account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.unmuteActor",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"actor\": \"{{actor}}\"}",
          "placeholders": [
            {
              "name": "actor",
              "type": "String",
              "description": "actor",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-unmuteActorList",
    "meta": {
      "short": "unmuteActorList",
      "description": "Unmutes the specified list of accounts. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.unmuteActorList",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"list\": \"{{list}}\"}",
          "placeholders": [
            {
              "name": "list",
              "type": "String",
              "description": "list",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-graph-unmuteThread",
    "meta": {
      "short": "unmuteThread",
      "description": "Unmutes the specified thread. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.graph.unmuteThread",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"root\": \"{{root}}\"}",
          "placeholders": [
            {
              "name": "root",
              "type": "String",
              "description": "root",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-labeler-getServices",
    "meta": {
      "short": "getServices",
      "description": "Get information about a list of labeler services."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.labeler.getServices",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "dids": {
            "value": "{{dids}}",
            "placeholders": [
              {
                "name": "dids",
                "type": "Integer",
                "description": "dids",
                "required": true
              }
            ]
          },
          "detailed": {
            "value": "{{detailed}}",
            "placeholders": [
              {
                "name": "detailed",
                "type": "Integer",
                "description": "detailed",
                "required": false,
                "default": "False"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-getPreferences",
    "meta": {
      "short": "getPreferences",
      "description": "Get notification-related preferences for an account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.getPreferences",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-getUnreadCount",
    "meta": {
      "short": "getUnreadCount",
      "description": "Count the number of unread notifications for the requesting account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.getUnreadCount",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "priority": {
            "value": "{{priority}}",
            "placeholders": [
              {
                "name": "priority",
                "type": "Integer",
                "description": "priority",
                "required": false
              }
            ]
          },
          "seenAt": {
            "value": "{{seenAt}}",
            "placeholders": [
              {
                "name": "seenAt",
                "type": "String",
                "description": "seenAt",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-listActivitySubscriptions",
    "meta": {
      "short": "listActivitySubscriptions",
      "description": "Enumerate all accounts to which the requesting account is subscribed to receive notifications for. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.listActivitySubscriptions",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-listNotifications",
    "meta": {
      "short": "listNotifications",
      "description": "Enumerate notifications for the requesting account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.listNotifications",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "reasons": {
            "value": "{{reasons}}",
            "placeholders": [
              {
                "name": "reasons",
                "type": "Integer",
                "description": "Notification reasons to include in response.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "priority": {
            "value": "{{priority}}",
            "placeholders": [
              {
                "name": "priority",
                "type": "Integer",
                "description": "priority",
                "required": false
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "seenAt": {
            "value": "{{seenAt}}",
            "placeholders": [
              {
                "name": "seenAt",
                "type": "String",
                "description": "seenAt",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-putActivitySubscription",
    "meta": {
      "short": "putActivitySubscription",
      "description": "Puts an activity subscription entry. The key should be omitted for creation and provided for updates. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.putActivitySubscription",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"subject\": \"{{subject}}\", \"activitySubscription\": \"{{activitySubscription}}\"}",
          "placeholders": [
            {
              "name": "subject",
              "type": "String",
              "description": "subject",
              "required": true
            },
            {
              "name": "activitySubscription",
              "type": "Integer",
              "description": "activitySubscription",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-putPreferences",
    "meta": {
      "short": "putPreferences",
      "description": "Set notification-related preferences for an account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.putPreferences",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"priority\": \"{{priority}}\"}",
          "placeholders": [
            {
              "name": "priority",
              "type": "Integer",
              "description": "priority",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-putPreferencesV2",
    "meta": {
      "short": "putPreferencesV2",
      "description": "Set notification-related preferences for an account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.putPreferencesV2",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"chat\": \"{{chat}}\", \"follow\": \"{{follow}}\", \"like\": \"{{like}}\", \"likeViaRepost\": \"{{likeViaRepost}}\", \"mention\": \"{{mention}}\", \"quote\": \"{{quote}}\", \"reply\": \"{{reply}}\", \"repost\": \"{{repost}}\", \"repostViaRepost\": \"{{repostViaRepost}}\", \"starterpackJoined\": \"{{starterpackJoined}}\", \"subscribedPost\": \"{{subscribedPost}}\", \"unverified\": \"{{unverified}}\", \"verified\": \"{{verified}}\"}",
          "placeholders": [
            {
              "name": "chat",
              "type": "Integer",
              "description": "chat",
              "required": false
            },
            {
              "name": "follow",
              "type": "Integer",
              "description": "follow",
              "required": false
            },
            {
              "name": "like",
              "type": "Integer",
              "description": "like",
              "required": false
            },
            {
              "name": "likeViaRepost",
              "type": "Integer",
              "description": "likeViaRepost",
              "required": false
            },
            {
              "name": "mention",
              "type": "Integer",
              "description": "mention",
              "required": false
            },
            {
              "name": "quote",
              "type": "Integer",
              "description": "quote",
              "required": false
            },
            {
              "name": "reply",
              "type": "Integer",
              "description": "reply",
              "required": false
            },
            {
              "name": "repost",
              "type": "Integer",
              "description": "repost",
              "required": false
            },
            {
              "name": "repostViaRepost",
              "type": "Integer",
              "description": "repostViaRepost",
              "required": false
            },
            {
              "name": "starterpackJoined",
              "type": "Integer",
              "description": "starterpackJoined",
              "required": false
            },
            {
              "name": "subscribedPost",
              "type": "Integer",
              "description": "subscribedPost",
              "required": false
            },
            {
              "name": "unverified",
              "type": "Integer",
              "description": "unverified",
              "required": false
            },
            {
              "name": "verified",
              "type": "Integer",
              "description": "verified",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-registerPush",
    "meta": {
      "short": "registerPush",
      "description": "Register to receive push notifications, via a specified service, for the requesting account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.registerPush",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"serviceDid\": \"{{serviceDid}}\", \"token\": \"{{token}}\", \"platform\": \"{{platform}}\", \"appId\": \"{{appId}}\", \"ageRestricted\": \"{{ageRestricted}}\"}",
          "placeholders": [
            {
              "name": "serviceDid",
              "type": "String",
              "description": "serviceDid",
              "required": true
            },
            {
              "name": "token",
              "type": "String",
              "description": "token",
              "required": true
            },
            {
              "name": "platform",
              "type": "String",
              "description": "platform",
              "required": true
            },
            {
              "name": "appId",
              "type": "String",
              "description": "appId",
              "required": true
            },
            {
              "name": "ageRestricted",
              "type": "Integer",
              "description": "Set to true when the actor is age restricted",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-unregisterPush",
    "meta": {
      "short": "unregisterPush",
      "description": "The inverse of registerPush - inform a specified service that push notifications should no longer be sent to the given token for the requesting account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.unregisterPush",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"serviceDid\": \"{{serviceDid}}\", \"token\": \"{{token}}\", \"platform\": \"{{platform}}\", \"appId\": \"{{appId}}\"}",
          "placeholders": [
            {
              "name": "serviceDid",
              "type": "String",
              "description": "serviceDid",
              "required": true
            },
            {
              "name": "token",
              "type": "String",
              "description": "token",
              "required": true
            },
            {
              "name": "platform",
              "type": "String",
              "description": "platform",
              "required": true
            },
            {
              "name": "appId",
              "type": "String",
              "description": "appId",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-notification-updateSeen",
    "meta": {
      "short": "updateSeen",
      "description": "Notify server that the requesting account has seen notifications. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.notification.updateSeen",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"seenAt\": \"{{seenAt}}\"}",
          "placeholders": [
            {
              "name": "seenAt",
              "type": "String",
              "description": "seenAt",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getAgeAssuranceState",
    "meta": {
      "short": "getAgeAssuranceState",
      "description": "Returns the current state of the age assurance process for an account. This is used to check if the user has completed age assurance or if further action is required."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getAgeAssuranceState",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getConfig",
    "meta": {
      "short": "getConfig",
      "description": "Get miscellaneous runtime configuration."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getConfig",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getOnboardingSuggestedStarterPacks",
    "meta": {
      "short": "getOnboardingSuggestedStarterPacks",
      "description": "Get a list of suggested starterpacks for onboarding"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getOnboardingSuggestedStarterPacks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getOnboardingSuggestedStarterPacksSkeleton",
    "meta": {
      "short": "getOnboardingSuggestedStarterPacksSkeleton",
      "description": "Get a skeleton of suggested starterpacks for onboarding. Intended to be called and hydrated by app.bsky.unspecced.getOnboardingSuggestedStarterPacks"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getOnboardingSuggestedUsersSkeleton",
    "meta": {
      "short": "getOnboardingSuggestedUsersSkeleton",
      "description": "Get a skeleton of suggested users for onboarding. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedOnboardingUsers"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getOnboardingSuggestedUsersSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "category": {
            "value": "{{category}}",
            "placeholders": [
              {
                "name": "category",
                "type": "String",
                "description": "Category of users to get suggestions for.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getPopularFeedGenerators",
    "meta": {
      "short": "getPopularFeedGenerators",
      "description": "An unspecced view of globally popular feed generators."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getPopularFeedGenerators",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "query": {
            "value": "{{query}}",
            "placeholders": [
              {
                "name": "query",
                "type": "String",
                "description": "query",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getPostThreadOtherV2",
    "meta": {
      "short": "getPostThreadOtherV2",
      "description": "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get additional posts under a thread e.g. replies hidden by threadgate. Based on an anchor post at any depth of the tree, returns top-level replies below that anchor. It does not include ancestors nor the anchor itself. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getPostThreadOtherV2",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "anchor": {
            "value": "{{anchor}}",
            "placeholders": [
              {
                "name": "anchor",
                "type": "String",
                "description": "Reference (AT-URI) to post record. This is the anchor post.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getPostThreadV2",
    "meta": {
      "short": "getPostThreadV2",
      "description": "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get posts in a thread. It is based in an anchor post at any depth of the tree, and returns posts above it (recursively resolving the parent, without further branching to their replies) and below it (recursive replies, with branching to their replies). Does not require auth, but additional metadata and filtering will be applied for authed requests."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getPostThreadV2",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "anchor": {
            "value": "{{anchor}}",
            "placeholders": [
              {
                "name": "anchor",
                "type": "String",
                "description": "Reference (AT-URI) to post record. This is the anchor post, and the thread will be built around it. It can be any post in the tree, not necessarily a root post.",
                "required": true
              }
            ]
          },
          "above": {
            "value": "{{above}}",
            "placeholders": [
              {
                "name": "above",
                "type": "Integer",
                "description": "Whether to include parents above the anchor.",
                "required": false,
                "default": "True"
              }
            ]
          },
          "below": {
            "value": "{{below}}",
            "placeholders": [
              {
                "name": "below",
                "type": "Integer",
                "description": "How many levels of replies to include below the anchor.",
                "required": false,
                "default": "6"
              }
            ]
          },
          "branchingFactor": {
            "value": "{{branchingFactor}}",
            "placeholders": [
              {
                "name": "branchingFactor",
                "type": "Integer",
                "description": "Maximum of replies to include at each level of the thread, except for the direct replies to the anchor, which are (NOTE: currently, during unspecced phase) all returned (NOTE: later they might be paginated).",
                "required": false,
                "default": "10"
              }
            ]
          },
          "sort": {
            "value": "{{sort}}",
            "placeholders": [
              {
                "name": "sort",
                "type": "String",
                "description": "Sorting for the thread replies.",
                "required": false,
                "default": "oldest"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedFeeds",
    "meta": {
      "short": "getSuggestedFeeds",
      "description": "Get a list of suggested feeds"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedFeeds",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedFeedsSkeleton",
    "meta": {
      "short": "getSuggestedFeedsSkeleton",
      "description": "Get a skeleton of suggested feeds. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedFeeds"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedFeedsSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedOnboardingUsers",
    "meta": {
      "short": "getSuggestedOnboardingUsers",
      "description": "Get a list of suggested users for onboarding"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedOnboardingUsers",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "category": {
            "value": "{{category}}",
            "placeholders": [
              {
                "name": "category",
                "type": "String",
                "description": "Category of users to get suggestions for.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedStarterPacks",
    "meta": {
      "short": "getSuggestedStarterPacks",
      "description": "Get a list of suggested starterpacks"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedStarterPacks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedStarterPacksSkeleton",
    "meta": {
      "short": "getSuggestedStarterPacksSkeleton",
      "description": "Get a skeleton of suggested starterpacks. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedStarterpacks"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedStarterPacksSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedUsers",
    "meta": {
      "short": "getSuggestedUsers",
      "description": "Get a list of suggested users"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedUsers",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "category": {
            "value": "{{category}}",
            "placeholders": [
              {
                "name": "category",
                "type": "String",
                "description": "Category of users to get suggestions for.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestedUsersSkeleton",
    "meta": {
      "short": "getSuggestedUsersSkeleton",
      "description": "Get a skeleton of suggested users. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedUsers"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestedUsersSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "category": {
            "value": "{{category}}",
            "placeholders": [
              {
                "name": "category",
                "type": "String",
                "description": "Category of users to get suggestions for.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getSuggestionsSkeleton",
    "meta": {
      "short": "getSuggestionsSkeleton",
      "description": "Get a skeleton of suggested actors. Intended to be called and then hydrated through app.bsky.actor.getSuggestions"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getSuggestionsSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "relativeToDid": {
            "value": "{{relativeToDid}}",
            "placeholders": [
              {
                "name": "relativeToDid",
                "type": "String",
                "description": "DID of the account to get suggestions relative to. If not provided, suggestions will be based on the viewer.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getTaggedSuggestions",
    "meta": {
      "short": "getTaggedSuggestions",
      "description": "Get a list of suggestions (feeds and users) tagged with categories"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getTaggedSuggestions",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getTrendingTopics",
    "meta": {
      "short": "getTrendingTopics",
      "description": "Get a list of trending topics"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getTrendingTopics",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getTrends",
    "meta": {
      "short": "getTrends",
      "description": "Get the current trends on the network"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getTrends",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-getTrendsSkeleton",
    "meta": {
      "short": "getTrendsSkeleton",
      "description": "Get the skeleton of trends on the network. Intended to be called and then hydrated through app.bsky.unspecced.getTrends"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.getTrendsSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "10"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-initAgeAssurance",
    "meta": {
      "short": "initAgeAssurance",
      "description": "Initiate age assurance for an account. This is a one-time action that will start the process of verifying the user's age."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.initAgeAssurance",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"email\": \"{{email}}\", \"language\": \"{{language}}\", \"countryCode\": \"{{countryCode}}\"}",
          "placeholders": [
            {
              "name": "email",
              "type": "String",
              "description": "The user's email address to receive assurance instructions.",
              "required": true
            },
            {
              "name": "language",
              "type": "String",
              "description": "The user's preferred language for communication during the assurance process.",
              "required": true
            },
            {
              "name": "countryCode",
              "type": "String",
              "description": "An ISO 3166-1 alpha-2 code of the user's location.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-searchActorsSkeleton",
    "meta": {
      "short": "searchActorsSkeleton",
      "description": "Backend Actors (profile) search, returns only skeleton."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.searchActorsSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax.",
                "required": true
              }
            ]
          },
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries). Used to boost followed accounts in ranking.",
                "required": false
              }
            ]
          },
          "typeahead": {
            "value": "{{typeahead}}",
            "placeholders": [
              {
                "name": "typeahead",
                "type": "Integer",
                "description": "If true, acts as fast/simple 'typeahead' query.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-searchPostsSkeleton",
    "meta": {
      "short": "searchPostsSkeleton",
      "description": "Backend Posts search, returns only skeleton"
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.searchPostsSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.",
                "required": true
              }
            ]
          },
          "sort": {
            "value": "{{sort}}",
            "placeholders": [
              {
                "name": "sort",
                "type": "String",
                "description": "Specifies the ranking order of results.",
                "required": false,
                "default": "latest"
              }
            ]
          },
          "since": {
            "value": "{{since}}",
            "placeholders": [
              {
                "name": "since",
                "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).",
                "required": false
              }
            ]
          },
          "until": {
            "value": "{{until}}",
            "placeholders": [
              {
                "name": "until",
                "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).",
                "required": false
              }
            ]
          },
          "mentions": {
            "value": "{{mentions}}",
            "placeholders": [
              {
                "name": "mentions",
                "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.",
                "required": false
              }
            ]
          },
          "author": {
            "value": "{{author}}",
            "placeholders": [
              {
                "name": "author",
                "type": "String",
                "description": "Filter to posts by the given account. Handles are resolved to DID before query-time.",
                "required": false
              }
            ]
          },
          "lang": {
            "value": "{{lang}}",
            "placeholders": [
              {
                "name": "lang",
                "type": "String",
                "description": "Filter to posts in the given language. Expected to be based on post language field, though server may override language detection.",
                "required": false
              }
            ]
          },
          "domain": {
            "value": "{{domain}}",
            "placeholders": [
              {
                "name": "domain",
                "type": "String",
                "description": "Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization.",
                "required": false
              }
            ]
          },
          "url": {
            "value": "{{url}}",
            "placeholders": [
              {
                "name": "url",
                "type": "String",
                "description": "Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching.",
                "required": false
              }
            ]
          },
          "tag": {
            "value": "{{tag}}",
            "placeholders": [
              {
                "name": "tag",
                "type": "Integer",
                "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
              }
            ]
          },
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries). Used for 'from:me' queries.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-unspecced-searchStarterPacksSkeleton",
    "meta": {
      "short": "searchStarterPacksSkeleton",
      "description": "Backend Starter Pack search, returns only skeleton."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.unspecced.searchStarterPacksSkeleton",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "q": {
            "value": "{{q}}",
            "placeholders": [
              {
                "name": "q",
                "type": "String",
                "description": "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.",
                "required": true
              }
            ]
          },
          "viewer": {
            "value": "{{viewer}}",
            "placeholders": [
              {
                "name": "viewer",
                "type": "String",
                "description": "DID of the account making the request (not included for public/unauthenticated queries).",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "25"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-video-getJobStatus",
    "meta": {
      "short": "getJobStatus",
      "description": "Get status details for a video processing job."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.video.getJobStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "jobId": {
            "value": "{{jobId}}",
            "placeholders": [
              {
                "name": "jobId",
                "type": "String",
                "description": "jobId",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-video-getUploadLimits",
    "meta": {
      "short": "getUploadLimits",
      "description": "Get video upload limits for the authenticated user."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.video.getUploadLimits",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "app-bsky-video-uploadVideo",
    "meta": {
      "short": "uploadVideo",
      "description": "Upload a video to be processed then stored on the PDS."
    },
    "endpoint": {
      "value": "/xrpc/app.bsky.video.uploadVideo",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-deleteAccount",
    "meta": {
      "short": "deleteAccount",
      "description": "Delete a user account as an administrator."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.deleteAccount",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"did\": \"{{did}}\"}",
          "placeholders": [
            {
              "name": "did",
              "type": "String",
              "description": "did",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-disableAccountInvites",
    "meta": {
      "short": "disableAccountInvites",
      "description": "Disable an account from receiving new invite codes, but does not invalidate existing codes."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.disableAccountInvites",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"account\": \"{{account}}\", \"note\": \"{{note}}\"}",
          "placeholders": [
            {
              "name": "account",
              "type": "String",
              "description": "account",
              "required": true
            },
            {
              "name": "note",
              "type": "String",
              "description": "Optional reason for disabled invites.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-disableInviteCodes",
    "meta": {
      "short": "disableInviteCodes",
      "description": "Disable some set of codes and/or all codes associated with a set of users."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.disableInviteCodes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"codes\": \"{{codes}}\", \"accounts\": \"{{accounts}}\"}",
          "placeholders": [
            {
              "name": "codes",
              "type": "Integer",
              "description": "codes",
              "required": false
            },
            {
              "name": "accounts",
              "type": "Integer",
              "description": "accounts",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-enableAccountInvites",
    "meta": {
      "short": "enableAccountInvites",
      "description": "Re-enable an account's ability to receive invite codes."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.enableAccountInvites",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"account\": \"{{account}}\", \"note\": \"{{note}}\"}",
          "placeholders": [
            {
              "name": "account",
              "type": "String",
              "description": "account",
              "required": true
            },
            {
              "name": "note",
              "type": "String",
              "description": "Optional reason for enabled invites.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-getAccountInfo",
    "meta": {
      "short": "getAccountInfo",
      "description": "Get details about an account."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.getAccountInfo",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "did",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-getAccountInfos",
    "meta": {
      "short": "getAccountInfos",
      "description": "Get details about some accounts."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.getAccountInfos",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "dids": {
            "value": "{{dids}}",
            "placeholders": [
              {
                "name": "dids",
                "type": "Integer",
                "description": "dids",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-getInviteCodes",
    "meta": {
      "short": "getInviteCodes",
      "description": "Get an admin view of invite codes."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.getInviteCodes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "sort": {
            "value": "{{sort}}",
            "placeholders": [
              {
                "name": "sort",
                "type": "String",
                "description": "sort",
                "required": false,
                "default": "recent"
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "100"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-getSubjectStatus",
    "meta": {
      "short": "getSubjectStatus",
      "description": "Get the service-specific admin status of a subject (account, record, or blob)."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.getSubjectStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "did",
                "required": false
              }
            ]
          },
          "uri": {
            "value": "{{uri}}",
            "placeholders": [
              {
                "name": "uri",
                "type": "String",
                "description": "uri",
                "required": false
              }
            ]
          },
          "blob": {
            "value": "{{blob}}",
            "placeholders": [
              {
                "name": "blob",
                "type": "String",
                "description": "blob",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-searchAccounts",
    "meta": {
      "short": "searchAccounts",
      "description": "Get list of accounts that matches your search query."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.searchAccounts",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "email": {
            "value": "{{email}}",
            "placeholders": [
              {
                "name": "email",
                "type": "String",
                "description": "email",
                "required": false
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-sendEmail",
    "meta": {
      "short": "sendEmail",
      "description": "Send email to a user's account email address."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.sendEmail",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"recipientDid\": \"{{recipientDid}}\", \"content\": \"{{content}}\", \"subject\": \"{{subject}}\", \"senderDid\": \"{{senderDid}}\", \"comment\": \"{{comment}}\"}",
          "placeholders": [
            {
              "name": "recipientDid",
              "type": "String",
              "description": "recipientDid",
              "required": true
            },
            {
              "name": "content",
              "type": "String",
              "description": "content",
              "required": true
            },
            {
              "name": "subject",
              "type": "String",
              "description": "subject",
              "required": false
            },
            {
              "name": "senderDid",
              "type": "String",
              "description": "senderDid",
              "required": true
            },
            {
              "name": "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",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-updateAccountEmail",
    "meta": {
      "short": "updateAccountEmail",
      "description": "Administrative action to update an account's email."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.updateAccountEmail",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"account\": \"{{account}}\", \"email\": \"{{email}}\"}",
          "placeholders": [
            {
              "name": "account",
              "type": "String",
              "description": "The handle or DID of the repo.",
              "required": true
            },
            {
              "name": "email",
              "type": "String",
              "description": "email",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-updateAccountHandle",
    "meta": {
      "short": "updateAccountHandle",
      "description": "Administrative action to update an account's handle."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.updateAccountHandle",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"did\": \"{{did}}\", \"handle\": \"{{handle}}\"}",
          "placeholders": [
            {
              "name": "did",
              "type": "String",
              "description": "did",
              "required": true
            },
            {
              "name": "handle",
              "type": "String",
              "description": "handle",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-updateAccountPassword",
    "meta": {
      "short": "updateAccountPassword",
      "description": "Update the password for a user account as an administrator."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.updateAccountPassword",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"did\": \"{{did}}\", \"password\": \"{{password}}\"}",
          "placeholders": [
            {
              "name": "did",
              "type": "String",
              "description": "did",
              "required": true
            },
            {
              "name": "password",
              "type": "String",
              "description": "password",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-updateAccountSigningKey",
    "meta": {
      "short": "updateAccountSigningKey",
      "description": "Administrative action to update an account's signing key in their Did document."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.updateAccountSigningKey",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"did\": \"{{did}}\", \"signingKey\": \"{{signingKey}}\"}",
          "placeholders": [
            {
              "name": "did",
              "type": "String",
              "description": "did",
              "required": true
            },
            {
              "name": "signingKey",
              "type": "String",
              "description": "Did-key formatted public key",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-admin-updateSubjectStatus",
    "meta": {
      "short": "updateSubjectStatus",
      "description": "Update the service-specific admin status of a subject (account, record, or blob)."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.admin.updateSubjectStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"subject\": \"{{subject}}\", \"takedown\": \"{{takedown}}\", \"deactivated\": \"{{deactivated}}\"}",
          "placeholders": [
            {
              "name": "subject",
              "type": "Integer",
              "description": "subject",
              "required": true
            },
            {
              "name": "takedown",
              "type": "Integer",
              "description": "takedown",
              "required": false
            },
            {
              "name": "deactivated",
              "type": "Integer",
              "description": "deactivated",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-getRecommendedDidCredentials",
    "meta": {
      "short": "getRecommendedDidCredentials",
      "description": "Describe the credentials that should be included in the DID doc of an account that is migrating to this service."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.getRecommendedDidCredentials",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-refreshIdentity",
    "meta": {
      "short": "refreshIdentity",
      "description": "Request that the server re-resolve an identity (DID and handle). The server may ignore this request, or require authentication, depending on the role, implementation, and policy of the server."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.refreshIdentity",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"identifier\": \"{{identifier}}\"}",
          "placeholders": [
            {
              "name": "identifier",
              "type": "String",
              "description": "identifier",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-requestPlcOperationSignature",
    "meta": {
      "short": "requestPlcOperationSignature",
      "description": "Request an email with a code to in order to request a signed PLC operation. Requires Auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.requestPlcOperationSignature",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-resolveDid",
    "meta": {
      "short": "resolveDid",
      "description": "Resolves DID to DID document. Does not bi-directionally verify handle."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.resolveDid",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "DID to resolve.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-resolveHandle",
    "meta": {
      "short": "resolveHandle",
      "description": "Resolves an atproto handle (hostname) to a DID. Does not necessarily bi-directionally verify against the the DID document."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.resolveHandle",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "handle": {
            "value": "{{handle}}",
            "placeholders": [
              {
                "name": "handle",
                "type": "String",
                "description": "The handle to resolve.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-resolveIdentity",
    "meta": {
      "short": "resolveIdentity",
      "description": "Resolves an identity (DID or Handle) to a full identity (DID document and verified handle)."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.resolveIdentity",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "identifier": {
            "value": "{{identifier}}",
            "placeholders": [
              {
                "name": "identifier",
                "type": "String",
                "description": "Handle or DID to resolve.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-signPlcOperation",
    "meta": {
      "short": "signPlcOperation",
      "description": "Signs a PLC operation to update some value(s) in the requesting DID's document."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.signPlcOperation",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"token\": \"{{token}}\", \"rotationKeys\": \"{{rotationKeys}}\", \"alsoKnownAs\": \"{{alsoKnownAs}}\", \"verificationMethods\": \"{{verificationMethods}}\", \"services\": \"{{services}}\"}",
          "placeholders": [
            {
              "name": "token",
              "type": "String",
              "description": "A token received through com.atproto.identity.requestPlcOperationSignature",
              "required": false
            },
            {
              "name": "rotationKeys",
              "type": "Integer",
              "description": "rotationKeys",
              "required": false
            },
            {
              "name": "alsoKnownAs",
              "type": "Integer",
              "description": "alsoKnownAs",
              "required": false
            },
            {
              "name": "verificationMethods",
              "type": "Integer",
              "description": "verificationMethods",
              "required": false
            },
            {
              "name": "services",
              "type": "Integer",
              "description": "services",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-submitPlcOperation",
    "meta": {
      "short": "submitPlcOperation",
      "description": "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"
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.submitPlcOperation",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"operation\": \"{{operation}}\"}",
          "placeholders": [
            {
              "name": "operation",
              "type": "Integer",
              "description": "operation",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-identity-updateHandle",
    "meta": {
      "short": "updateHandle",
      "description": "Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.identity.updateHandle",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"handle\": \"{{handle}}\"}",
          "placeholders": [
            {
              "name": "handle",
              "type": "String",
              "description": "The new handle.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-label-queryLabels",
    "meta": {
      "short": "queryLabels",
      "description": "Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.label.queryLabels",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "uriPatterns": {
            "value": "{{uriPatterns}}",
            "placeholders": [
              {
                "name": "uriPatterns",
                "type": "Integer",
                "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
              }
            ]
          },
          "sources": {
            "value": "{{sources}}",
            "placeholders": [
              {
                "name": "sources",
                "type": "Integer",
                "description": "Optional list of label sources (DIDs) to filter on.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-lexicon-resolveLexicon",
    "meta": {
      "short": "resolveLexicon",
      "description": "Resolves an atproto lexicon (NSID) to a schema."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.lexicon.resolveLexicon",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "nsid": {
            "value": "{{nsid}}",
            "placeholders": [
              {
                "name": "nsid",
                "type": "String",
                "description": "The lexicon NSID to resolve.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-moderation-createReport",
    "meta": {
      "short": "createReport",
      "description": "Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.moderation.createReport",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"reasonType\": \"{{reasonType}}\", \"reason\": \"{{reason}}\", \"subject\": \"{{subject}}\", \"modTool\": \"{{modTool}}\"}",
          "placeholders": [
            {
              "name": "reasonType",
              "type": "Integer",
              "description": "Indicates the broad category of violation the report is for.",
              "required": true
            },
            {
              "name": "reason",
              "type": "String",
              "description": "Additional context about the content and violation.",
              "required": false
            },
            {
              "name": "subject",
              "type": "Integer",
              "description": "subject",
              "required": true
            },
            {
              "name": "modTool",
              "type": "Integer",
              "description": "modTool",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-applyWrites",
    "meta": {
      "short": "applyWrites",
      "description": "Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.applyWrites",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"repo\": \"{{repo}}\", \"validate\": \"{{validate}}\", \"writes\": \"{{writes}}\", \"swapCommit\": \"{{swapCommit}}\"}",
          "placeholders": [
            {
              "name": "repo",
              "type": "String",
              "description": "The handle or DID of the repo (aka, current account).",
              "required": true
            },
            {
              "name": "validate",
              "type": "Integer",
              "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.",
              "required": false
            },
            {
              "name": "writes",
              "type": "Integer",
              "description": "writes",
              "required": true
            },
            {
              "name": "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.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-createRecord",
    "meta": {
      "short": "createRecord",
      "description": "Create a single new repository record. Requires auth, implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.createRecord",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"repo\": \"{{repo}}\", \"collection\": \"{{collection}}\", \"rkey\": \"{{rkey}}\", \"validate\": \"{{validate}}\", \"record\": \"{{record}}\", \"swapCommit\": \"{{swapCommit}}\"}",
          "placeholders": [
            {
              "name": "repo",
              "type": "String",
              "description": "The handle or DID of the repo (aka, current account).",
              "required": true
            },
            {
              "name": "collection",
              "type": "String",
              "description": "The NSID of the record collection.",
              "required": true
            },
            {
              "name": "rkey",
              "type": "String",
              "description": "The Record Key.",
              "required": false
            },
            {
              "name": "validate",
              "type": "Integer",
              "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.",
              "required": false
            },
            {
              "name": "record",
              "type": "Integer",
              "description": "The record itself. Must contain a $type field.",
              "required": true
            },
            {
              "name": "swapCommit",
              "type": "String",
              "description": "Compare and swap with the previous commit by CID.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-deleteRecord",
    "meta": {
      "short": "deleteRecord",
      "description": "Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.deleteRecord",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"repo\": \"{{repo}}\", \"collection\": \"{{collection}}\", \"rkey\": \"{{rkey}}\", \"swapRecord\": \"{{swapRecord}}\", \"swapCommit\": \"{{swapCommit}}\"}",
          "placeholders": [
            {
              "name": "repo",
              "type": "String",
              "description": "The handle or DID of the repo (aka, current account).",
              "required": true
            },
            {
              "name": "collection",
              "type": "String",
              "description": "The NSID of the record collection.",
              "required": true
            },
            {
              "name": "rkey",
              "type": "String",
              "description": "The Record Key.",
              "required": true
            },
            {
              "name": "swapRecord",
              "type": "String",
              "description": "Compare and swap with the previous record by CID.",
              "required": false
            },
            {
              "name": "swapCommit",
              "type": "String",
              "description": "Compare and swap with the previous commit by CID.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-describeRepo",
    "meta": {
      "short": "describeRepo",
      "description": "Get information about an account and repository, including the list of collections. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.describeRepo",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "repo": {
            "value": "{{repo}}",
            "placeholders": [
              {
                "name": "repo",
                "type": "String",
                "description": "The handle or DID of the repo.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-getRecord",
    "meta": {
      "short": "getRecord",
      "description": "Get a single record from a repository. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.getRecord",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "repo": {
            "value": "{{repo}}",
            "placeholders": [
              {
                "name": "repo",
                "type": "String",
                "description": "The handle or DID of the repo.",
                "required": true
              }
            ]
          },
          "collection": {
            "value": "{{collection}}",
            "placeholders": [
              {
                "name": "collection",
                "type": "String",
                "description": "The NSID of the record collection.",
                "required": true
              }
            ]
          },
          "rkey": {
            "value": "{{rkey}}",
            "placeholders": [
              {
                "name": "rkey",
                "type": "String",
                "description": "The Record Key.",
                "required": true
              }
            ]
          },
          "cid": {
            "value": "{{cid}}",
            "placeholders": [
              {
                "name": "cid",
                "type": "String",
                "description": "The CID of the version of the record. If not specified, then return the most recent version.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-importRepo",
    "meta": {
      "short": "importRepo",
      "description": "Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.importRepo",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-listMissingBlobs",
    "meta": {
      "short": "listMissingBlobs",
      "description": "Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.listMissingBlobs",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "500"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-listRecords",
    "meta": {
      "short": "listRecords",
      "description": "List a range of records in a repository, matching a specific collection. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.listRecords",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "repo": {
            "value": "{{repo}}",
            "placeholders": [
              {
                "name": "repo",
                "type": "String",
                "description": "The handle or DID of the repo.",
                "required": true
              }
            ]
          },
          "collection": {
            "value": "{{collection}}",
            "placeholders": [
              {
                "name": "collection",
                "type": "String",
                "description": "The NSID of the record type.",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "The number of records to return.",
                "required": false,
                "default": "50"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          },
          "reverse": {
            "value": "{{reverse}}",
            "placeholders": [
              {
                "name": "reverse",
                "type": "Integer",
                "description": "Flag to reverse the order of the returned records.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-putRecord",
    "meta": {
      "short": "putRecord",
      "description": "Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.putRecord",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"repo\": \"{{repo}}\", \"collection\": \"{{collection}}\", \"rkey\": \"{{rkey}}\", \"validate\": \"{{validate}}\", \"record\": \"{{record}}\", \"swapRecord\": \"{{swapRecord}}\", \"swapCommit\": \"{{swapCommit}}\"}",
          "placeholders": [
            {
              "name": "repo",
              "type": "String",
              "description": "The handle or DID of the repo (aka, current account).",
              "required": true
            },
            {
              "name": "collection",
              "type": "String",
              "description": "The NSID of the record collection.",
              "required": true
            },
            {
              "name": "rkey",
              "type": "String",
              "description": "The Record Key.",
              "required": true
            },
            {
              "name": "validate",
              "type": "Integer",
              "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.",
              "required": false
            },
            {
              "name": "record",
              "type": "Integer",
              "description": "The record to write.",
              "required": true
            },
            {
              "name": "swapRecord",
              "type": "String",
              "description": "Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation",
              "required": false
            },
            {
              "name": "swapCommit",
              "type": "String",
              "description": "Compare and swap with the previous commit by CID.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-repo-uploadBlob",
    "meta": {
      "short": "uploadBlob",
      "description": "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."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.repo.uploadBlob",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-activateAccount",
    "meta": {
      "short": "activateAccount",
      "description": "Activates a currently deactivated account. Used to finalize account migration after the account's repo is imported and identity is setup."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.activateAccount",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-checkAccountStatus",
    "meta": {
      "short": "checkAccountStatus",
      "description": "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."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.checkAccountStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-confirmEmail",
    "meta": {
      "short": "confirmEmail",
      "description": "Confirm an email using a token from com.atproto.server.requestEmailConfirmation."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.confirmEmail",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"email\": \"{{email}}\", \"token\": \"{{token}}\"}",
          "placeholders": [
            {
              "name": "email",
              "type": "String",
              "description": "email",
              "required": true
            },
            {
              "name": "token",
              "type": "String",
              "description": "token",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-createAccount",
    "meta": {
      "short": "createAccount",
      "description": "Create an account. Implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.createAccount",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"email\": \"{{email}}\", \"handle\": \"{{handle}}\", \"did\": \"{{did}}\", \"inviteCode\": \"{{inviteCode}}\", \"verificationCode\": \"{{verificationCode}}\", \"verificationPhone\": \"{{verificationPhone}}\", \"password\": \"{{password}}\", \"recoveryKey\": \"{{recoveryKey}}\", \"plcOp\": \"{{plcOp}}\"}",
          "placeholders": [
            {
              "name": "email",
              "type": "String",
              "description": "email",
              "required": false
            },
            {
              "name": "handle",
              "type": "String",
              "description": "Requested handle for the account.",
              "required": true
            },
            {
              "name": "did",
              "type": "String",
              "description": "Pre-existing atproto DID, being imported to a new account.",
              "required": false
            },
            {
              "name": "inviteCode",
              "type": "String",
              "description": "inviteCode",
              "required": false
            },
            {
              "name": "verificationCode",
              "type": "String",
              "description": "verificationCode",
              "required": false
            },
            {
              "name": "verificationPhone",
              "type": "String",
              "description": "verificationPhone",
              "required": false
            },
            {
              "name": "password",
              "type": "String",
              "description": "Initial account password. May need to meet instance-specific password strength requirements.",
              "required": false
            },
            {
              "name": "recoveryKey",
              "type": "String",
              "description": "DID PLC rotation key (aka, recovery key) to be included in PLC creation operation.",
              "required": false
            },
            {
              "name": "plcOp",
              "type": "Integer",
              "description": "A signed DID PLC operation to be submitted as part of importing an existing account to this instance. NOTE: this optional field may be updated when full account migration is implemented.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-createAppPassword",
    "meta": {
      "short": "createAppPassword",
      "description": "Create an App Password."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.createAppPassword",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"name\": \"{{name}}\", \"privileged\": \"{{privileged}}\"}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "A short name for the App Password, to help distinguish them.",
              "required": true
            },
            {
              "name": "privileged",
              "type": "Integer",
              "description": "If an app password has 'privileged' access to possibly sensitive account state. Meant for use with trusted clients.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-createInviteCode",
    "meta": {
      "short": "createInviteCode",
      "description": "Create an invite code."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.createInviteCode",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"useCount\": \"{{useCount}}\", \"forAccount\": \"{{forAccount}}\"}",
          "placeholders": [
            {
              "name": "useCount",
              "type": "Integer",
              "description": "useCount",
              "required": true
            },
            {
              "name": "forAccount",
              "type": "String",
              "description": "forAccount",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-createInviteCodes",
    "meta": {
      "short": "createInviteCodes",
      "description": "Create invite codes."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.createInviteCodes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"codeCount\": \"{{codeCount}}\", \"useCount\": \"{{useCount}}\", \"forAccounts\": \"{{forAccounts}}\"}",
          "placeholders": [
            {
              "name": "codeCount",
              "type": "Integer",
              "description": "codeCount",
              "required": true
            },
            {
              "name": "useCount",
              "type": "Integer",
              "description": "useCount",
              "required": true
            },
            {
              "name": "forAccounts",
              "type": "Integer",
              "description": "forAccounts",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-createSession",
    "meta": {
      "short": "createSession",
      "description": "Create an authentication session."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.createSession",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"identifier\": \"{{identifier}}\", \"password\": \"{{password}}\", \"authFactorToken\": \"{{authFactorToken}}\", \"allowTakendown\": \"{{allowTakendown}}\"}",
          "placeholders": [
            {
              "name": "identifier",
              "type": "String",
              "description": "Handle or other identifier supported by the server for the authenticating user.",
              "required": true
            },
            {
              "name": "password",
              "type": "String",
              "description": "password",
              "required": true
            },
            {
              "name": "authFactorToken",
              "type": "String",
              "description": "authFactorToken",
              "required": false
            },
            {
              "name": "allowTakendown",
              "type": "Integer",
              "description": "When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-deactivateAccount",
    "meta": {
      "short": "deactivateAccount",
      "description": "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."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.deactivateAccount",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"deleteAfter\": \"{{deleteAfter}}\"}",
          "placeholders": [
            {
              "name": "deleteAfter",
              "type": "String",
              "description": "A recommendation to server as to how long they should hold onto the deactivated account before deleting.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-deleteAccount",
    "meta": {
      "short": "deleteAccount",
      "description": "Delete an actor's account with a token and password. Can only be called after requesting a deletion token. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.deleteAccount",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"did\": \"{{did}}\", \"password\": \"{{password}}\", \"token\": \"{{token}}\"}",
          "placeholders": [
            {
              "name": "did",
              "type": "String",
              "description": "did",
              "required": true
            },
            {
              "name": "password",
              "type": "String",
              "description": "password",
              "required": true
            },
            {
              "name": "token",
              "type": "String",
              "description": "token",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-deleteSession",
    "meta": {
      "short": "deleteSession",
      "description": "Delete the current session. Requires auth using the 'refreshJwt' (not the 'accessJwt')."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.deleteSession",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-describeServer",
    "meta": {
      "short": "describeServer",
      "description": "Describes the server's account creation requirements and capabilities. Implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.describeServer",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-getAccountInviteCodes",
    "meta": {
      "short": "getAccountInviteCodes",
      "description": "Get all invite codes for the current account. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.getAccountInviteCodes",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "includeUsed": {
            "value": "{{includeUsed}}",
            "placeholders": [
              {
                "name": "includeUsed",
                "type": "Integer",
                "description": "includeUsed",
                "required": false,
                "default": "True"
              }
            ]
          },
          "createAvailable": {
            "value": "{{createAvailable}}",
            "placeholders": [
              {
                "name": "createAvailable",
                "type": "Integer",
                "description": "Controls whether any new 'earned' but not 'created' invites should be created.",
                "required": false,
                "default": "True"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-getServiceAuth",
    "meta": {
      "short": "getServiceAuth",
      "description": "Get a signed token on behalf of the requesting DID for the requested service."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.getServiceAuth",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "aud": {
            "value": "{{aud}}",
            "placeholders": [
              {
                "name": "aud",
                "type": "String",
                "description": "The DID of the service that the token will be used to authenticate with",
                "required": true
              }
            ]
          },
          "exp": {
            "value": "{{exp}}",
            "placeholders": [
              {
                "name": "exp",
                "type": "Integer",
                "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
              }
            ]
          },
          "lxm": {
            "value": "{{lxm}}",
            "placeholders": [
              {
                "name": "lxm",
                "type": "String",
                "description": "Lexicon (XRPC) method to bind the requested token to",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-getSession",
    "meta": {
      "short": "getSession",
      "description": "Get information about the current auth session. Requires auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.getSession",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-listAppPasswords",
    "meta": {
      "short": "listAppPasswords",
      "description": "List all App Passwords."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.listAppPasswords",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-refreshSession",
    "meta": {
      "short": "refreshSession",
      "description": "Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt')."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.refreshSession",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-requestAccountDelete",
    "meta": {
      "short": "requestAccountDelete",
      "description": "Initiate a user account deletion via email."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.requestAccountDelete",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-requestEmailConfirmation",
    "meta": {
      "short": "requestEmailConfirmation",
      "description": "Request an email with a code to confirm ownership of email."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.requestEmailConfirmation",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-requestEmailUpdate",
    "meta": {
      "short": "requestEmailUpdate",
      "description": "Request a token in order to update email."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.requestEmailUpdate",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-requestPasswordReset",
    "meta": {
      "short": "requestPasswordReset",
      "description": "Initiate a user account password reset via email."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.requestPasswordReset",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"email\": \"{{email}}\"}",
          "placeholders": [
            {
              "name": "email",
              "type": "String",
              "description": "email",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-reserveSigningKey",
    "meta": {
      "short": "reserveSigningKey",
      "description": "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."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.reserveSigningKey",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"did\": \"{{did}}\"}",
          "placeholders": [
            {
              "name": "did",
              "type": "String",
              "description": "The DID to reserve a key for.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-resetPassword",
    "meta": {
      "short": "resetPassword",
      "description": "Reset a user account password using a token."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.resetPassword",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"token\": \"{{token}}\", \"password\": \"{{password}}\"}",
          "placeholders": [
            {
              "name": "token",
              "type": "String",
              "description": "token",
              "required": true
            },
            {
              "name": "password",
              "type": "String",
              "description": "password",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-revokeAppPassword",
    "meta": {
      "short": "revokeAppPassword",
      "description": "Revoke an App Password by name."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.revokeAppPassword",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"name\": \"{{name}}\"}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "name",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-server-updateEmail",
    "meta": {
      "short": "updateEmail",
      "description": "Update an account's email."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.server.updateEmail",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"email\": \"{{email}}\", \"emailAuthFactor\": \"{{emailAuthFactor}}\", \"token\": \"{{token}}\"}",
          "placeholders": [
            {
              "name": "email",
              "type": "String",
              "description": "email",
              "required": true
            },
            {
              "name": "emailAuthFactor",
              "type": "Integer",
              "description": "emailAuthFactor",
              "required": false
            },
            {
              "name": "token",
              "type": "String",
              "description": "Requires a token from com.atproto.sever.requestEmailUpdate if the account's email has been confirmed.",
              "required": false
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getBlob",
    "meta": {
      "short": "getBlob",
      "description": "Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getBlob",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the account.",
                "required": true
              }
            ]
          },
          "cid": {
            "value": "{{cid}}",
            "placeholders": [
              {
                "name": "cid",
                "type": "String",
                "description": "The CID of the blob to fetch",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getBlocks",
    "meta": {
      "short": "getBlocks",
      "description": "Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getBlocks",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          },
          "cids": {
            "value": "{{cids}}",
            "placeholders": [
              {
                "name": "cids",
                "type": "Integer",
                "description": "cids",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getCheckout",
    "meta": {
      "short": "getCheckout",
      "description": "DEPRECATED - please use com.atproto.sync.getRepo instead"
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getCheckout",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getHead",
    "meta": {
      "short": "getHead",
      "description": "DEPRECATED - please use com.atproto.sync.getLatestCommit instead"
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getHead",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getHostStatus",
    "meta": {
      "short": "getHostStatus",
      "description": "Returns information about a specified upstream host, as consumed by the server. Implemented by relays."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getHostStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "hostname": {
            "value": "{{hostname}}",
            "placeholders": [
              {
                "name": "hostname",
                "type": "String",
                "description": "Hostname of the host (eg, PDS or relay) being queried.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getLatestCommit",
    "meta": {
      "short": "getLatestCommit",
      "description": "Get the current commit CID & revision of the specified repo. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getLatestCommit",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getRecord",
    "meta": {
      "short": "getRecord",
      "description": "Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getRecord",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          },
          "collection": {
            "value": "{{collection}}",
            "placeholders": [
              {
                "name": "collection",
                "type": "String",
                "description": "collection",
                "required": true
              }
            ]
          },
          "rkey": {
            "value": "{{rkey}}",
            "placeholders": [
              {
                "name": "rkey",
                "type": "String",
                "description": "Record Key",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getRepo",
    "meta": {
      "short": "getRepo",
      "description": "Download a repository export as CAR file. Optionally only a 'diff' since a previous revision. Does not require auth; implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getRepo",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          },
          "since": {
            "value": "{{since}}",
            "placeholders": [
              {
                "name": "since",
                "type": "String",
                "description": "The revision ('rev') of the repo to create a diff from.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-getRepoStatus",
    "meta": {
      "short": "getRepoStatus",
      "description": "Get the hosting status for a repository, on this server. Expected to be implemented by PDS and Relay."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.getRepoStatus",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-listBlobs",
    "meta": {
      "short": "listBlobs",
      "description": "List blob CIDs for an account, since some repo revision. Does not require auth; implemented by PDS."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.listBlobs",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "did": {
            "value": "{{did}}",
            "placeholders": [
              {
                "name": "did",
                "type": "String",
                "description": "The DID of the repo.",
                "required": true
              }
            ]
          },
          "since": {
            "value": "{{since}}",
            "placeholders": [
              {
                "name": "since",
                "type": "String",
                "description": "Optional revision of the repo to list blobs since.",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "500"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-listHosts",
    "meta": {
      "short": "listHosts",
      "description": "Enumerates upstream hosts (eg, PDS or relay instances) that this service consumes from. Implemented by relays."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.listHosts",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "200"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-listRepos",
    "meta": {
      "short": "listRepos",
      "description": "Enumerates all the DID, rev, and commit CID for all repos hosted by this service. Does not require auth; implemented by PDS and Relay."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.listRepos",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "500"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-listReposByCollection",
    "meta": {
      "short": "listReposByCollection",
      "description": "Enumerates all the DIDs which have records with the given collection NSID."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.listReposByCollection",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "collection": {
            "value": "{{collection}}",
            "placeholders": [
              {
                "name": "collection",
                "type": "String",
                "description": "collection",
                "required": true
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "Maximum size of response set. Recommend setting a large maximum (1000+) when enumerating large DID lists.",
                "required": false,
                "default": "500"
              }
            ]
          },
          "cursor": {
            "value": "{{cursor}}",
            "placeholders": [
              {
                "name": "cursor",
                "type": "String",
                "description": "cursor",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-notifyOfUpdate",
    "meta": {
      "short": "notifyOfUpdate",
      "description": "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. DEPRECATED: just use com.atproto.sync.requestCrawl"
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.notifyOfUpdate",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"hostname\": \"{{hostname}}\"}",
          "placeholders": [
            {
              "name": "hostname",
              "type": "String",
              "description": "Hostname of the current service (usually a PDS) that is notifying of update.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-sync-requestCrawl",
    "meta": {
      "short": "requestCrawl",
      "description": "Request a service to persistently crawl hosted repos. Expected use is new PDS instances declaring their existence to Relays. Does not require auth."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.sync.requestCrawl",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"hostname\": \"{{hostname}}\"}",
          "placeholders": [
            {
              "name": "hostname",
              "type": "String",
              "description": "Hostname of the current service (eg, PDS) that is requesting to be crawled.",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-addReservedHandle",
    "meta": {
      "short": "addReservedHandle",
      "description": "Add a handle to the set of reserved handles."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.addReservedHandle",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"handle\": \"{{handle}}\"}",
          "placeholders": [
            {
              "name": "handle",
              "type": "String",
              "description": "handle",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-checkHandleAvailability",
    "meta": {
      "short": "checkHandleAvailability",
      "description": "Checks whether the provided handle is available. If the handle is not available, available suggestions will be returned. Optional inputs will be used to generate suggestions."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.checkHandleAvailability",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "handle": {
            "value": "{{handle}}",
            "placeholders": [
              {
                "name": "handle",
                "type": "String",
                "description": "Tentative handle. Will be checked for availability or used to build handle suggestions.",
                "required": true
              }
            ]
          },
          "email": {
            "value": "{{email}}",
            "placeholders": [
              {
                "name": "email",
                "type": "String",
                "description": "User-provided email. Might be used to build handle suggestions.",
                "required": false
              }
            ]
          },
          "birthDate": {
            "value": "{{birthDate}}",
            "placeholders": [
              {
                "name": "birthDate",
                "type": "String",
                "description": "User-provided birth date. Might be used to build handle suggestions.",
                "required": false
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-checkSignupQueue",
    "meta": {
      "short": "checkSignupQueue",
      "description": "Check accounts location in signup queue."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.checkSignupQueue",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-dereferenceScope",
    "meta": {
      "short": "dereferenceScope",
      "description": "Allows finding the oauth permission scope from a reference"
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.dereferenceScope",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "scope": {
            "value": "{{scope}}",
            "placeholders": [
              {
                "name": "scope",
                "type": "String",
                "description": "The scope reference (starts with 'ref:')",
                "required": true
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-fetchLabels",
    "meta": {
      "short": "fetchLabels",
      "description": "DEPRECATED: use queryLabels or subscribeLabels instead -- Fetch all labels from a labeler created after a certain date."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.fetchLabels",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          }
        },
        "queryParams": {
          "since": {
            "value": "{{since}}",
            "placeholders": [
              {
                "name": "since",
                "type": "Integer",
                "description": "since",
                "required": false
              }
            ]
          },
          "limit": {
            "value": "{{limit}}",
            "placeholders": [
              {
                "name": "limit",
                "type": "Integer",
                "description": "limit",
                "required": false,
                "default": "50"
              }
            ]
          }
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-requestPhoneVerification",
    "meta": {
      "short": "requestPhoneVerification",
      "description": "Request a verification code to be sent to the supplied phone number"
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.requestPhoneVerification",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"phoneNumber\": \"{{phoneNumber}}\"}",
          "placeholders": [
            {
              "name": "phoneNumber",
              "type": "String",
              "description": "phoneNumber",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  },
  {
    "handle": "com-atproto-temp-revokeAccountCredentials",
    "meta": {
      "short": "revokeAccountCredentials",
      "description": "Revoke sessions, password, and app passwords associated with account. May be resolved by a password reset."
    },
    "endpoint": {
      "value": "/xrpc/com.atproto.temp.revokeAccountCredentials",
      "placeholders": []
    },
    "fields": [],
    "operations": {
      "execute": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Authorization": {
            "value": "Bearer {{accessToken}}",
            "placeholders": [
              {
                "name": "accessToken",
                "type": "String",
                "description": "Access token for authentication.",
                "required": true
              }
            ]
          },
          "Content-Type": {
            "value": "application/json",
            "placeholders": []
          }
        },
        "bodyTemplate": {
          "value": "{\"account\": \"{{account}}\"}",
          "placeholders": [
            {
              "name": "account",
              "type": "String",
              "description": "account",
              "required": true
            }
          ]
        }
      }
    },
    "webhooks": []
  }
]
```

<p align="center"><a class="button primary" data-icon="square-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.planetcrust.com/human-connections/bluesky/bluesky.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
