{"openapi":"3.1.0","info":{"title":"Padlet (BYOK) API","version":"0.1.0","description":"Padlet (BYOK) lets an AI assistant read your own Padlet data through the Padlet API with a key you supply (Padlet API key (paid plan)). Read-only: 5 tools (get_current_user, get_board, get_post_attachment, get_organization, get_organization_user). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to api.padlet.dev....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-padlet.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-padlet/docs"},"termsOfService":"https://connectorbay.com/byok-padlet/terms"},"servers":[{"url":"https://byok-padlet.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-padlet/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Padlet user the key belongs to (name, username, bio) and optionally the boards and organizations they belong to","description":"Show the Padlet user the key belongs to (name, username, bio) and optionally the boards and organizations they belong to. Use for \"Which Padlet boards and organizations do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"include":{"anyOf":[{"enum":["boards","organizations","boards,organizations"],"type":"string"},{"type":"null"}],"default":"boards,organizations","description":"Related data to add: boards, organizations or boards,organizations.","title":"Include"}},"title":"get_current_userArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_board":{"post":{"operationId":"get_board","summary":"Get one padlet's title, description, owner, links and dates; with include it also returns every section, post and commen","description":"Get one padlet's title, description, owner, links and dates; with include it also returns every section, post and comment. You must be an admin of the padlet. Use for \"What is on my Padlet board and who posted what\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"board_id":{"description":"Board (padlet) id: the 16 or 20 character string at the end of a padlet's URL. You must be an admin of the padlet.","maxLength":200,"title":"Board Id","type":"string"},"include":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Related data to add: any of posts, sections, comments, comma-separated (for example posts,sections).","title":"Include"}},"required":["board_id"],"title":"get_boardArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_post_attachment":{"post":{"operationId":"get_post_attachment","summary":"Get the attachment data of one post: preview image, embed code or poll question with vote counts. You must be an admin o","description":"Get the attachment data of one post: preview image, embed code or poll question with vote counts. You must be an admin of the board. Use for \"What is the poll attached to a Padlet post\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"post_id":{"description":"Post id, as returned in the posts of get_board.","maxLength":200,"title":"Post Id","type":"string"}},"required":["post_id"],"title":"get_post_attachmentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization":{"post":{"operationId":"get_organization","summary":"Get an organization's name, type, your role and the ids of its members (use get_organization_user for one member). Needs","description":"Get an organization's name, type, your role and the ids of its members (use get_organization_user for one member). Needs admin access to the organization. Use for \"Who are the members of my Padlet organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Organization id, as returned by get_current_user with include=organizations.","maxLength":200,"title":"Org Id","type":"string"}},"required":["org_id"],"title":"get_organizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization_user":{"post":{"operationId":"get_organization_user","summary":"Get one member of an organization and optionally the boards they have there. Needs admin access to the organization. Use","description":"Get one member of an organization and optionally the boards they have there. Needs admin access to the organization. Use for \"Which boards does a member of my Padlet organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Organization id, as returned by get_current_user with include=organizations.","maxLength":200,"title":"Org Id","type":"string"},"user_id":{"description":"User id, as listed in the relationships of get_organization.","maxLength":200,"title":"User Id","type":"string"},"include":{"anyOf":[{"const":"boards","type":"string"},{"type":"null"}],"default":"boards","description":"Set to boards to include the member's boards.","title":"Include"}},"required":["org_id","user_id"],"title":"get_organization_userArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}