---
title: "Changes to Save Pin"
method: POST
path: "/pins/{pin_id}/save"
---

# Changes to Save Pin

`POST /pins/{pin_id}/save`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 12 of 29 revisions.

- **2026-06-04** (v5) `b698c180678a` — 1 breaking, 12 warning, 4 info
- **2025-10-16** (v5) `14c297539b64` — 4 warning
- **2025-08-14** (v5) `7d64d863909a` — 4 breaking, 2 warning, 7 info
- **2025-07-16** (v5) `43134ca41f18` — 2 info
- **2025-04-04** (v5) `10f9eba4ad97` — 1 warning, 3 info
- **2024-02-08** (v5) `7529b464d5cb` — 1 info
- **2023-08-17** (v5) `0ff12596bafd` — 2 info
- **2023-07-14** (v5) `52586a274771` — 2 breaking, 9 info
- **2023-05-12** (v5) `689b4b267639` — 5 info
- **2023-02-14** (v5) `be19b77aa78a` — 4 breaking, 2 info
- **2022-11-14** (v5) `e041d7b0cef0` — 1 breaking, 1 info
- **2022-09-07** (v5) `bd20b6eb152f` — 1 info

## Changes

- **2026-06-04** (v5) `b698c180678a` — 1 breaking, 12 warning, 4 info
  - removed the required property `id` from the response with the `201` status
  - removed the optional property `board_id` from the response with the `201` status
  - removed the optional property `board_owner` from the response with the `201` status
  - removed the optional property `board_section_id` from the response with the `201` status
  - removed the optional property `created_at` from the response with the `201` status
  - removed the optional property `creative_type` from the response with the `201` status
  - removed the optional property `dominant_color` from the response with the `201` status
  - removed the optional property `has_been_promoted` from the response with the `201` status
  - removed the optional property `is_owner` from the response with the `201` status
  - removed the optional property `is_standard` from the response with the `201` status
  - removed the optional property `media` from the response with the `201` status
  - removed the optional property `parent_pin_id` from the response with the `201` status
  - removed the optional property `pin_metrics` from the response with the `201` status
  - added `#/components/schemas/PinBase` to the response body `allOf` list for the response status `201`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `429`
- **2025-10-16** (v5) `14c297539b64` — 4 warning
  - removed the optional property `note` from the response with the `201` status
  - added the new `COLLAGE` enum value to the `creative_type/allOf[subschema #1: CreativeType enum used ads]/` response property for the response status `201`
  - added the new `MAX_WIDTH_REGULAR_COLLECTION` enum value to the `creative_type/allOf[subschema #1: CreativeType enum used ads]/` response property for the response status `201`
  - added the new `MAX_WIDTH_VIDEO_COLLECTION` enum value to the `creative_type/allOf[subschema #1: CreativeType enum used ads]/` response property for the response status `201`
- **2025-08-14** (v5) `7d64d863909a` — 4 breaking, 2 warning, 7 info
  - added `#/components/schemas/PinMediaWithImage, #/components/schemas/PinMediaWithVideo, #/components/schemas/PinMediaWithImages, #/components/schemas/PinMediaWithVideos, #/components/schemas/PinMediaWithImageAndVideo` to the `media/allOf[subschema #1: Pin media -> subschema #1: Pin media response object.]/` response property `oneOf` list for the response status `201`
  - the `board_owner` response's property type/format changed from `object`/`` to ``/`` for status `201`
  - the `creative_type` response's property type/format changed from `string`/`` to ``/`` for status `201`
  - the `media` response's property type/format changed from `object`/`` to ``/`` for status `201`
  - removed the optional property `is_removable` from the response with the `201` status
  - removed the optional property `product_tags` from the response with the `201` status
  - the response optional property `id` became not read-only for the status `201`
  - the response optional property `is_standard` became read-only for the status `201`
  - the response optional property `pin_metrics` became read-only for the status `201`
  - removed the optional write-only property `media_source` from the response with the `201` status
  - removed `#/components/schemas/PinMediaBase, subschema #2` from the `media/allOf[subschema #1: Pin media -> subschema #1: Pin media response object.]/` response property `allOf` list for the response status `201`
  - the response property `id` became required for the status `201`
  - added discriminator to `media/allOf[subschema #1: Pin media -> subschema #1: Pin media response object.]/` response property for the response status `201`
- **2025-07-16** (v5) `43134ca41f18` — 2 info
  - added the optional property `is_removable` to the response with the `201` status
  - added the optional property `product_tags` to the response with the `201` status
- **2025-04-04** (v5) `10f9eba4ad97` — 1 warning, 3 info
  - removed the optional property `media/allOf[subschema #1: Pin media]/media_type` from the response with the `201` status
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #3: Video ID]/cover_image_key_frame_time` to the response with the `201` status
  - added `#/components/schemas/PinMediaBase, subschema #2` to the `media/allOf[subschema #1: Pin media]/` response property `allOf` list for the response status `201`
  - removed discriminator from `media/allOf[subschema #1: Pin media]/` response property for the response status `201`
- **2024-02-08** (v5) `7529b464d5cb` — 1 info
  - added the optional property `pin_metrics` to the response with the `201` status
- **2023-08-17** (v5) `0ff12596bafd` — 2 info
  - the request property `board_id` became nullable
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #6: Pin URL]/is_affiliate_link` to the response with the `201` status
- **2023-07-14** (v5) `52586a274771` — 2 breaking, 9 info
  - the response property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #3: Video ID]/cover_image_url` became optional for the status `201`
  - added `#/components/schemas/PinMediaSourcePinURL` to the `media_source/allOf[subschema #1: Pin media source]/` response property `oneOf` list for the response status `201`
  - added the optional property `has_been_promoted` to the response with the `201` status
  - added the optional property `is_owner` to the response with the `201` status
  - added the optional property `is_standard` to the response with the `201` status
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #3: Video ID]/cover_image_content_type` to the response with the `201` status
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #3: Video ID]/cover_image_data` to the response with the `201` status
  - added the optional property `note` to the response with the `201` status
  - added `#/components/schemas/CreativeType` to the `creative_type` response property `allOf` list for the response status `201`
  - removed `subschema #1: Creative Type` from the `creative_type` response property `allOf` list for the response status `201`
  - added `pin_url` discriminator mapping keys to the `media_source/allOf[subschema #1: Pin media source]/` response property for the response status `201`
- **2023-05-12** (v5) `689b4b267639` — 5 info
  - added the new optional `query` request parameter `ad_account_id`
  - added the optional property `creative_type` to the response with the `201` status
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #1: Image Base64]/is_standard` to the response with the `201` status
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #2: Image URL]/is_standard` to the response with the `201` status
  - added the optional property `media_source/allOf[subschema #1: Pin media source]/oneOf[subschema #3: Video ID]/is_standard` to the response with the `201` status
- **2023-02-14** (v5) `be19b77aa78a` — 4 breaking, 2 info
  - the `description` response property's maxLength was unset from `500` for the response status `201`
  - the `title` response property's maxLength was unset from `100` for the response status `201`
  - added `#/components/schemas/PinMediaSourceImagesBase64, #/components/schemas/PinMediaSourceImagesURL` to the `media_source/allOf[subschema #1: Pin media source]/` response property `oneOf` list for the response status `201`
  - the `media/allOf[subschema #1: Pin media]/` response's property type/format changed from ``/`` to `object`/`` for status `201`
  - added `multiple_image_base64, multiple_image_urls` discriminator mapping keys to the `media_source/allOf[subschema #1: Pin media source]/` response property for the response status `201`
  - the `id` response's property pattern `^\d+$` was added for the status `201`
- **2022-11-14** (v5) `e041d7b0cef0` — 1 breaking, 1 info
  - the response's body became nullable
  - added `multiple_images, multiple_videos, multiple_mixed` discriminator mapping keys to the `media/allOf[subschema #1: Pin media]/` response property for the response status `201`
- **2022-09-07** (v5) `bd20b6eb152f` — 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/pinterest/apis/pinterest-rest-api/docs/pins/:pin_id/save/post.md) · [API](https://skmtc.dev/pinterest/apis/pinterest-rest-api.md) · [Page](https://skmtc.dev/pinterest/apis/pinterest-rest-api/changes/pins/:pin_id/save/post)
