[{"data":1,"prerenderedAt":230},["ShallowReactive",2],{"api-docs-articles":3,"api-docs-nav-articles":72,"api-docs-article-rate-limits":85,"api-docs-related-rate-limits":226},[4,11,17,23,28,34,40,46,52,57,62,67],{"path":5,"title":6,"description":7,"category":8,"emoji":9,"order":10},"\u002Fdocs\u002Fapi\u002Fauthentication","Authentication","Authenticate Pallyy API requests with an API key, understand scopes for reading and writing, and restrict keys to specific social sets.","getting-started","🔑",1,{"path":12,"title":13,"description":14,"category":8,"emoji":15,"order":16},"\u002Fdocs\u002Fapi\u002Ferrors","Errors","How the Pallyy API reports errors: HTTP status codes, the machine-readable error code in the response body, and validation error details.","⚠️",3,{"path":18,"title":19,"description":20,"category":21,"emoji":22,"order":10},"\u002Fdocs\u002Fapi\u002Fmcp","MCP server","Connect Claude, ChatGPT, Cursor, or any MCP client to your Pallyy account: the server URL, what the tools can do, how consent works, and how to disconnect an app.","mcp","🤖",{"path":24,"title":25,"description":26,"category":21,"emoji":27,"order":16},"\u002Fdocs\u002Fapi\u002Fmcp-authorization","MCP authorization","How MCP clients sign in to Pallyy with OAuth 2.1: discovery documents, client identification, PKCE, scopes, token lifetimes, refresh rotation, and revocation.","🔐",{"path":29,"title":30,"description":31,"category":21,"emoji":32,"order":33},"\u002Fdocs\u002Fapi\u002Fmcp-tools","MCP tools","Reference for the 15 tools the Pallyy MCP server exposes to AI assistants: social sets, post sets, media, media uploads, and calendar notes, with every input.","🧰",2,{"path":35,"title":36,"description":37,"category":38,"emoji":39,"order":16},"\u002Fdocs\u002Fapi\u002Fmedia","Media library","Browse a social set's media library via the Pallyy API, filter by folder, type, or name, and reference items when creating posts.","endpoints","🖼️",{"path":41,"title":42,"description":43,"category":38,"emoji":44,"order":45},"\u002Fdocs\u002Fapi\u002Fmedia-uploads","Media uploads","Import images and videos into a Pallyy media library from a URL via the API, poll the upload's status, and use the result in posts.","⬆️",4,{"path":47,"title":48,"description":49,"category":38,"emoji":50,"order":51},"\u002Fdocs\u002Fapi\u002Fnotes","Notes","Read and create the notes pinned to a social set's calendar via the Pallyy API: reminders, recurring notes, and events imported from Google Calendar.","📝",5,{"path":53,"title":54,"description":55,"category":8,"emoji":56,"order":45},"\u002Fdocs\u002Fapi\u002Fpagination","Pagination and queries","How Pallyy API list endpoints paginate with page and size parameters, and how to pass nested filters and sorting in the query string.","📄",{"path":58,"title":59,"description":60,"category":38,"emoji":61,"order":33},"\u002Fdocs\u002Fapi\u002Fpost-sets","Post sets","Create, schedule, list, and update Pallyy post sets via the API: one scheduled slot holding a post for each social network it targets.","🗓️",{"path":63,"title":64,"description":65,"category":8,"emoji":66,"order":33},"\u002Fdocs\u002Fapi\u002Frate-limits","Rate limits","The Pallyy API allows 5 requests per second per account. Read the rate limit headers on every response and back off on 429s.","⏱️",{"path":68,"title":69,"description":70,"category":38,"emoji":71,"order":10},"\u002Fdocs\u002Fapi\u002Fsocial-sets","Social sets","List your Pallyy social sets and their connected accounts via the API. Almost every other endpoint needs a social set id.","👥",[73,74,75,76,77,78,79,80,81,82,83,84],{"path":5,"title":6,"category":8,"order":10},{"path":12,"title":13,"category":8,"order":16},{"path":18,"title":19,"category":21,"order":10},{"path":24,"title":25,"category":21,"order":16},{"path":29,"title":30,"category":21,"order":33},{"path":35,"title":36,"category":38,"order":16},{"path":41,"title":42,"category":38,"order":45},{"path":47,"title":48,"category":38,"order":51},{"path":53,"title":54,"category":8,"order":45},{"path":58,"title":59,"category":38,"order":33},{"path":63,"title":64,"category":8,"order":33},{"path":68,"title":69,"category":38,"order":10},{"id":86,"title":64,"body":87,"category":8,"datePublished":219,"dateUpdated":219,"description":65,"emoji":66,"extension":220,"meta":221,"navigation":222,"order":33,"path":63,"seo":223,"stem":224,"__hash__":225},"apiDocs\u002Fdocs\u002Fapi\u002Frate-limits.md",{"type":88,"value":89,"toc":214},"minimark",[90,99,104,107,162,166,177,187,191],[91,92,93,94,98],"p",{},"The Pallyy API allows ",[95,96,97],"strong",{},"5 requests per second"," per account, counted in fixed one-second windows. The limit is shared across all of the account's API keys.",[100,101,103],"h2",{"id":102},"rate-limit-headers","Rate limit headers",[91,105,106],{},"Every response includes headers describing your current window:",[108,109,110,123],"table",{},[111,112,113],"thead",{},[114,115,116,120],"tr",{},[117,118,119],"th",{},"Header",[117,121,122],{},"Meaning",[124,125,126,142,152],"tbody",{},[114,127,128,135],{},[129,130,131],"td",{},[132,133,134],"code",{},"X-RateLimit-Limit",[129,136,137,138,141],{},"Requests allowed per second (currently ",[132,139,140],{},"5",")",[114,143,144,149],{},[129,145,146],{},[132,147,148],{},"X-RateLimit-Remaining",[129,150,151],{},"Requests left in the current window",[114,153,154,159],{},[129,155,156],{},[132,157,158],{},"X-RateLimit-Reset",[129,160,161],{},"Unix timestamp (in seconds) when the next window starts",[100,163,165],{"id":164},"exceeding-the-limit","Exceeding the limit",[91,167,168,169,172,173,176],{},"Once the window is used up, further requests receive a ",[132,170,171],{},"429"," response with a ",[132,174,175],{},"Retry-After: 1"," header and this error body:",[178,179,185],"pre",{"className":180,"code":182,"language":183,"meta":184},[181],"language-json","{\n  \"statusCode\": 429,\n  \"statusMessage\": \"Rate limit exceeded\",\n  \"data\": {\n    \"code\": \"rate_limit_exceeded\",\n    \"count\": 5,\n    \"max\": 5\n  }\n}\n","json","",[132,186,182],{"__ignoreMap":184},[100,188,190],{"id":189},"handling-limits-in-your-client","Handling limits in your client",[192,193,194,201,211],"ul",{},[195,196,197,198,200],"li",{},"Watch ",[132,199,148],{}," and slow down before you hit zero.",[195,202,203,204,206,207,210],{},"On a ",[132,205,171],{},", wait for the duration in ",[132,208,209],{},"Retry-After"," (one second) and retry.",[195,212,213],{},"Spread bulk work out instead of bursting. Windows are only a second long, so a short pause is always enough to recover.",{"title":184,"searchDepth":33,"depth":16,"links":215},[216,217,218],{"id":102,"depth":33,"text":103},{"id":164,"depth":33,"text":165},{"id":189,"depth":33,"text":190},"2026-08-20","md",{},true,{"title":64,"description":65},"docs\u002Fapi\u002Frate-limits","dLlNWhPUTfxi3UNU8TxhHt_cN3qWQC0jZY6Y2wwauRc",[227,228,229],{"path":5,"title":6,"emoji":9,"order":10},{"path":12,"title":13,"emoji":15,"order":16},{"path":53,"title":54,"emoji":56,"order":45},1788947605430]