Quick reference
Before you start
See Platform settings → Pinterest for the full schema and Media uploads for how to attach images. Required scopes (granted by the connect flow):boards:read— list the boards you can pin to.boards:read_secret— list secret boards.pins:read,pins:write— read + create pins.
Quick start
Workspace is inferred from your API key — noworkspaceId argument.
Pinterest always needs platformOptions.board because every pin
lands on a specific board — so even the flat-shape quickstart sets it.
Drop to the nested shape when you want
a different stylistic layout for the same request.
Content types
Single-image pin
Default. Pass exactly one image — either inline viamediaItems or by reference via mediaIds (see Media uploads).
Carousel pin (2–5 images)
Pass 2–5 imagemediaIds (or mediaItems). All slides must share the same aspect ratio (1:1 OR 2:3) — Pinterest rejects mixed aspects at the API.
Media requirements
Images
Pinterest down-scales anything above 1,200 × 1,800. Higher resolutions are accepted but offer no display advantage.
Platform-specific fields
See the full schema at Platform settings → Pinterest.
The pin’s description comes from the post-level
content field — Pinterest caps it at 500 chars.
firstComment is not supported on Pinterest — the platform doesn’t expose a commercial comment API. Passing one is rejected at validation.
Analytics
Pinterest analytics include some signature metrics not exposed elsewhere:
Refresh cadence: every 14 days.
Common errors
What you can’t do
- ❌ Video pins (planned for v2)
- ❌ Idea pins (deprecated by Pinterest)
- ❌ Story pins
- ❌ Schedule via Pinterest’s native scheduler
- ❌ Edit a pin after publish (Pinterest deleted that API)
- ❌ Add to multiple boards at once (one pin = one board; create multiple posts)
- ❌ Section pins (sub-boards) at the API
- ❌ Tag products (catalog feature, separate API)
- ❌ First comment (no commercial comment API)
Full control: nested shape
The nested shape (caption + targets + scheduledAt + socialAccountId) is functionally identical to the flat shape — pick whichever reads better in your codebase. Every Pinterest target still requires platformOptions.board.
Node.js