Skip to main content
POST
/
v1
/
accounts
/
{id}
/
pinterest
/
boards
Create a Pinterest board
curl --request POST \
  --url https://api.letmepost.dev/v1/accounts/{id}/pinterest/boards \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "setAsDefault": true,
  "upsert": true
}
'
{
  "id": "<string>",
  "name": "<string>",
  "existing": true,
  "defaultBoardId": "<string>",
  "defaultBoardName": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.letmepost.dev/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Mint an API key in the dashboard. See https://letmepost.dev/docs/authentication/.

Headers

Idempotency-Key
string

Recommended on every write. Replays within 24 hours return the original response; conflicting bodies surface as 409 idempotency_conflict. See Idempotency.

Required string length: 1 - 128
Example:

"post-launch-2026-05-15-001"

Path Parameters

id
string<uuid>
required

Body

application/json
name
string
required
Required string length: 1 - 180
description
string
Maximum string length: 500
privacy
enum<string>
Available options:
PUBLIC,
PROTECTED,
SECRET
setAsDefault
boolean

Lift the new board id into tokenMetadata.defaultBoardId.

upsert
boolean

When true, a duplicate-name response from Pinterest resolves to a 200 with the existing board (existing: true) instead of a platform_rejected failure.

Response

Existing board returned (only when upsert: true matched).

id
string
required
name
string
required
privacy
enum<string> | null
Available options:
PUBLIC,
PROTECTED,
SECRET,
null
existing
boolean
defaultBoardId
string
defaultBoardName
string