Select Pinterest board
Verifies and stores the default board for the Pinterest account created by the connect session. This endpoint requires a read-write API key.
Authorization
bearerAuth PostZen API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/connect/pinterest/select-board" \ -H "Content-Type: application/json" \ -d '{ "state": "3q2Xv8Zk1mR5tY7wA9bC4dE6", "boardId": "123456789012345678", "boardName": "Product inspiration", "redirectUrl": "https://example.com/connect/complete" }'{ "message": "Pinterest connected successfully with default board", "account": { "_id": "j97kp4mw2xnv6r1t8c3zq5bs9fh0yg4d", "platform": "pinterest", "providerAccountId": "987654321098765432", "profileId": { "_id": "jh72r5nqk9wx3v8m1t4cz6bs0fy5dg3e", "name": "Marketing Team", "slug": "marketing-team", "color": "#4caf50" }, "username": "acme", "displayName": "Acme", "status": "connected", "isActive": true, "connectedAt": "2026-06-19T16:00:00.000Z", "defaultBoardId": "123456789012345678", "defaultBoardName": "Product inspiration" }, "redirectUrl": "https://example.com/connect/complete?connected=pinterest&profileId=jh72r5nqk9wx3v8m1t4cz6bs0fy5dg3e&board=Product+inspiration"}{ "error": "board_not_found"}{ "error": "Unauthorized"}{ "error": "API key requires read_write permission"}{ "error": "connect_session_not_found"}{ "error": "connect_not_completed"}{ "error": "connect_session_expired"}{ "error": "not_connected"}{ "error": "rate_limited", "retryAfter": 30}{ "error": "Failed to create post"}{ "error": "request_failed"}List Pinterest boards for the connect flow GET
Lists boards after Pinterest OAuth completes so the client can show a board picker. The state handle remains valid for board selection for 30 minutes from connect-flow creation. This endpoint requires a read-write API key.
Create an OAuth connect URL GET
Initiates an OAuth connection flow and returns an authorization URL to redirect the user to. The OAuth state expires after 10 minutes. This endpoint requires a read-write API key. For `bluesky`, the returned `authUrl` is a PostZen-hosted page where the user enters their Bluesky handle and app password (no developer app or OAuth redirect is required); the connection completes when they submit that form. For `telegram`, the returned `authUrl` is a PostZen-hosted page that issues a short-lived access code (there is no OAuth grant and no Telegram authorization screen); the connection completes when the user adds @PostZenScheduleBot as an administrator of a channel or group and sends that code to the bot.