Endpoints
{id} is the connected Pinterest account’s ID. {boardId} is either the id or the board_id of the board. Every endpoint returns 400 account.boards_not_supported for an account that is not on Pinterest.
List boards
Pass either
id or board_id as board_id on a Pinterest target when you publish a Pin: see Pinterest publishing. Listing boards needs the accounts:read scope. GET /v1/accounts/{id}/pages refuses a Pinterest account with 400 account.use_boards_endpoint.
Create a board
Response (HTTP 201): the board, in the shape of a list item. Creating a board needs the
accounts:manage scope.
Rename a board or change its privacy
Send at least one field. A request with none fails with
400 board.update_empty. Any other privacy value, including PROTECTED, fails with 400 board.privacy_invalid: Pinterest cannot set a board to PROTECTED after creation, and a board that is PROTECTED cannot change its privacy at all. Create a new board instead. The response is the updated board (HTTP 200). This endpoint needs the accounts:manage scope.
Delete a board
accounts:manage scope.
Limits
Errors
Every code is in Errors.400 account.boards_not_supported: the account is not a Pinterest account.400 board.name_required: a create request has noname.400 board.update_empty: an update request sets no field.400 board.privacy_invalid: an update setsprivacyto anything butPUBLICorSECRET.401 platform.pinterest.auth: Pinterest reported that authentication failed. The account is markedtoken_expired, and every later call that acts on the account returns403 account.reconnection_requireduntil you reconnect it.403 platform.pinterest.403: Pinterest refused the action for this account.404 platform.pinterest.404: Pinterest reports that the board or Pin does not exist.
Use from an AI agent
Create, rename, and delete have no tool. Use the endpoints above.
Related
- Pinterest publishing: publish a Pin to a board
- Pinterest API: capabilities, limits, and scopes
- Connect accounts: connect a Pinterest account
- Errors: every error code