Create post
POST /v1/accounts/{accountId}/posts
Create a new post. If sendAt is provided, the post will be scheduled. Otherwise, it will be saved as a draft.
Authorizations
Parameters
Path Parameters
Pinterest account ID
Request Body required
object
URL of the media file to pin. Can be any publicly accessible URL — external media is automatically uploaded and processed.
Type of media. Set to ‘video’ for video files (.mp4, .mov, .qt). Defaults to ‘image’ if omitted.
Pin title. Required when sendAt is provided.
Pin description. Required when sendAt is provided.
Destination URL when pin is clicked. Required when sendAt is provided.
Target board ID. Required when sendAt is provided.
Alt text for accessibility
When to publish the pin. Must be in the future. If omitted, post is saved as draft. Requires boardId, title, description, and url.
Whether to create a simplified pin. Defaults to true. Set to false for a standard pin.
Responses
201
Post created
object
object
object
Post ID
Post status
URL of the media file
Type of media
Pin title
Pin description
Destination URL
Target board ID
Alt text for accessibility
Scheduled send time (Unix timestamp)
Actual send time (Unix timestamp)
Creation time (Unix timestamp)
Pinterest pin ID (only present after publishing)
Whether this is a simplified pin (as opposed to a standard pin)
object
Unique request ID for debugging
400
Invalid request
object
object
Error code
Error message
object
Unique request ID for debugging
Example
{ "error": { "code": "BAD_REQUEST", "message": "Invalid request body" }, "meta": { "requestId": "abc123" }}401
Authentication required or invalid API key
object
object
Error code
Error message
object
Unique request ID for debugging
Example
{ "error": { "code": "UNAUTHORIZED", "message": "Invalid API key" }, "meta": { "requestId": "abc123" }}404
Resource not found
object
object
Error code
Error message
object
Unique request ID for debugging
Example
{ "error": { "code": "NOT_FOUND", "message": "Account not found" }, "meta": { "requestId": "abc123" }}422
Media could not be processed
object
object
Error code
Error message
object
Unique request ID for debugging
Example
{ "error": { "code": "UNPROCESSABLE_ENTITY", "message": "Failed to process media URL. Ensure the URL is publicly accessible and points to a valid media file." }, "meta": { "requestId": "abc123" }}