{ "openapi": "3.0.3", "info": { "version": "5.3.0", "title": "Pinterest REST API", "description": "Pinterest's REST API", "contact": { "name": "Pinterest, Inc.", "url": "https://developers.pinterest.com/", "email": "pinterest-api@pinterest.com" }, "license": { "name": "MIT", "url": "https://spdx.org/licenses/MIT" }, "termsOfService": "https://developers.pinterest.com/terms/" }, "externalDocs": { "description": "Pinterest developer documentation main page", "url": "https://developers.pinterest.com/" }, "servers": [ { "url": "https://api.pinterest.com/v5" } ], "tags": [ { "name": "ad_accounts", "description": "View analytical information about advertising.\n\nNote: If the current operation_user_account (defined by the access token)\nhas access to another user's Ad Accounts via\nPinterest Business Access,\nyou can modify your request to use the current operation_user_account's\npermissions to those Ad Accounts by including the ad_account_id in the path\nparameters for the request (e.g. .../?ad_account_id=12345&...)." }, { "name": "boards", "description": "View, create, update, or delete information about boards." }, { "name": "catalogs", "description": "Manage information about shopping product catalogs and items." }, { "name": "media", "description": "Register and manage media uploads." }, { "name": "oauth", "description": "Generating and refreshing OAuth access tokens." }, { "name": "pins", "description": "View, create, update, or delete information about Pins." }, { "name": "user_account", "description": "Read-only information about user accounts associated with a given access token." } ], "paths": { "/oauth/token": { "post": { "summary": "Generate OAuth access token", "description": "Generate an OAuth access token by using an authorization code or a refresh token.\n\nSee Authentication for more.", "tags": [ "oauth" ], "operationId": "oauth/token", "security": [ {} ], "x-ratelimit-category": "org_read", "requestBody": { "description": "Generate an OAuth access token.", "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/OauthAccessTokenRequest" } } } }, "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OauthAccessTokenResponse" } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/user_account": { "get": { "summary": "Get user account", "description": "Get account information for the \"operation user_account\"\n- By default, the \"operation user_account\" is the token user_account.\n\nIf using Business Access: Specify an ad_account_id to use the owner of that ad_account as the \"operation user_account\". See Understanding Business Access for more information.", "tags": [ "user_account" ], "operationId": "user_account/get", "security": [ { "pinterest_oauth2": [ "user_accounts:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/query_ad_account_id" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Account" } } } }, "403": { "description": "Not authorized to access the user account.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to access the user account." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/user_account/analytics": { "get": { "summary": "Get user account analytics", "description": "Get analytics for the \"operation user_account\"\n- By default, the \"operation user_account\" is the token user_account.\n\nOptional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the \"operation user_account\".", "tags": [ "user_account" ], "operationId": "user_account/analytics", "security": [ { "pinterest_oauth2": [ "user_accounts:read" ] } ], "x-ratelimit-category": "org_analytics", "parameters": [ { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_from_claimed_content" }, { "$ref": "#/components/parameters/query_pin_format" }, { "$ref": "#/components/parameters/query_app_types" }, { "$ref": "#/components/parameters/query_metric_types" }, { "$ref": "#/components/parameters/query_split_field_user_account" }, { "$ref": "#/components/parameters/query_ad_account_id" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AnalyticsResponse" } } }, "description": "Success" }, "403": { "description": "Not authorized to access the user account analytics.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to access the user account analytics." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/pins": { "post": { "summary": "Create Pin", "description": "Create a Pin on a board or board section owned by the \"operation user_account\".\n\nNote: If the current \"operation user_account\" (defined by the access token) has access to another user's Ad Accounts via Pinterest Business Access, you can modify your request to make use of the current operation_user_account's permissions to those Ad Accounts by including the ad_account_id in the path parameters for the request (e.g. .../?ad_account_id=12345&...).\n\n- This function is intended solely for publishing new content created by the user. If you are interested in saving content created by others to your Pinterest boards, sometimes called 'curated content', please use our Save button instead. For more tips on creating fresh content for Pinterest, review our Content App Solutions Guide.\n\nLearn more about video Pin creation.", "tags": [ "pins" ], "operationId": "pins/create", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write", "pins:read", "pins:write" ] } ], "x-ratelimit-category": "org_write", "requestBody": { "description": "Create a new Pin.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pin" } } } }, "responses": { "201": { "description": "Successful pin creation.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pin" } } } }, "400": { "description": "Invalid Pin parameters response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidPinUrl": { "value": { "code": 1, "message": "Whoops! It looks like you entered an invalid URL. Try creating a Pin again with a valid URL." } } } } } }, "403": { "description": "The Pin's image is too small, too large or is broken", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "PinImageTooSmall": { "value": { "code": 233, "message": "Your image is too small. Please choose a larger image and try again." } }, "PinImageBroken": { "value": { "code": 235, "message": "Sorry, this image is broken. Please pick a different image." } } } } } }, "404": { "description": "Board or section not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "BoardNotFound": { "value": { "code": 40, "message": "Board not found." } }, "BoardSectionNotFound": { "value": { "code": 2031, "message": "Sorry! We couldn't find this board section." } } } } } }, "429": { "description": "This request exceeded a rate limit. This can happen if the client exceeds one\nof the published rate limits or if multiple write operations are applied to\nan object within a short time window.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 8, "message": "This request exceeded a rate limit. This can happen if the client exceeds one\nof the published rate limits or if multiple write operations are applied to\nan object within a short time window." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/pins/{pin_id}": { "get": { "summary": "Get Pin", "description": "Get a Pin owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.\n\nOptional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the \"operation user_account\". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account:\n\n- For Pins on public or protected boards: Owner, Admin, Analyst, Campaign Manager.\n- For Pins on secret boards: Owner, Admin.", "tags": [ "pins" ], "operationId": "pins/get", "security": [ { "pinterest_oauth2": [ "boards:read", "pins:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/path_pin_id" }, { "$ref": "#/components/parameters/query_ad_account_id" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Pin" } } } }, "403": { "description": "Not authorized to access board or Pin.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 29, "message": "You are not permitted to access that resource." } } } }, "404": { "description": "Pin not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 50, "message": "Pin not found." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "delete": { "summary": "Delete Pin", "description": "Delete a Pins owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "pins" ], "operationId": "pins/delete", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write", "pins:read", "pins:write" ] } ], "x-ratelimit-category": "org_write", "parameters": [ { "$ref": "#/components/parameters/path_pin_id" } ], "responses": { "204": { "description": "Successfully deleted Pin" }, "403": { "description": "Not authorized to access board or Pin.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to access board or Pin." } } } }, "404": { "description": "Pin not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Pin not found." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/pins/{pin_id}/analytics": { "get": { "summary": "Get Pin analytics", "description": "Get analytics for a Pin owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.\n\nOptional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the \"operation user_account\". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account:\n\n- For Pins on public or protected boards: Admin, Analyst.\n- For Pins on secret boards: Admin.", "tags": [ "pins" ], "operationId": "pins/analytics", "security": [ { "pinterest_oauth2": [ "boards:read", "pins:read" ] } ], "x-ratelimit-category": "org_analytics", "parameters": [ { "$ref": "#/components/parameters/path_pin_id" }, { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_app_types" }, { "$ref": "#/components/parameters/query_pin_analytics_metric_types" }, { "$ref": "#/components/parameters/query_split_field_pins" }, { "$ref": "#/components/parameters/query_ad_account_id" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AnalyticsResponse" } } } }, "403": { "description": "Not authorized to access board or Pin.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to access board or Pin." } } } }, "404": { "description": "Pin not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Pin not found." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/boards": { "get": { "summary": "List boards", "description": "Get a list of the boards owned by the \"operation user_account\" + group boards where this account is a collaborator\n\nOptional: Specify a privacy type (public, protected, or secret) to indicate which boards to return.\n- If no privacy is specified, all boards that can be returned (based on the scopes of the token and ad_account role if applicable) will be returned.", "tags": [ "boards" ], "operationId": "boards/list", "security": [ { "pinterest_oauth2": [ "boards:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" }, { "name": "privacy", "description": "Privacy setting for a board.", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "PUBLIC", "PROTECTED", "SECRET" ] } } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "description": "Boards", "items": { "$ref": "#/components/schemas/Board" } } } } ] } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "post": { "summary": "Create board", "description": "Create a board owned by the \"operation user_account\".\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "boards/create", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write" ] } ], "x-ratelimit-category": "org_write", "requestBody": { "description": "Create a board using a single board json object.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Board" } } } }, "responses": { "201": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Board" } } } }, "400": { "description": "The board name is invalid or duplicated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "The board name is invalid or duplicated." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/boards/{board_id}": { "get": { "summary": "Get board", "description": "Get a board owned by the operation user_account - or a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "boards/get", "security": [ { "pinterest_oauth2": [ "boards:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/path_board_id" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Board" } } } }, "404": { "description": "Board not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Board not found." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "patch": { "summary": "Update board", "description": "Update a board owned by the \"operating user_account\".", "tags": [ "boards" ], "operationId": "boards/update", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write" ] } ], "x-ratelimit-category": "org_write", "parameters": [ { "$ref": "#/components/parameters/path_board_id" } ], "requestBody": { "description": "Update a board.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardUpdate" } } } }, "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Board" } } } }, "400": { "description": "Invalid board parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid board parameters." } } } }, "403": { "description": "Not authorized to update the board.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to update the board." } } } }, "429": { "description": "This request exceeded a rate limit. This can happen if the client exceeds one\nof the published rate limits or if multiple write operations are applied to\nan object within a short time window.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 8, "message": "This request exceeded a rate limit. This can happen if the client exceeds one\nof the published rate limits or if multiple write operations are applied to\nan object within a short time window." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "delete": { "summary": "Delete board", "description": "Delete a board owned by the \"operation user_account\".\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "boards/delete", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write" ] } ], "x-ratelimit-category": "org_write", "parameters": [ { "$ref": "#/components/parameters/path_board_id" } ], "responses": { "204": { "description": "Board deleted successfully" }, "403": { "description": "Not authorized to delete the board.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to delete the board." } } } }, "404": { "description": "Board not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Board not found." } } } }, "409": { "description": "Could not get exclusive access to delete the board.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 409, "message": "Could not get exclusive access to delete the board." } } } }, "429": { "description": "This request exceeded a rate limit. This can happen if the client exceeds one\nof the published rate limits or if multiple write operations are applied to\nan object within a short time window.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 8, "message": "This request exceeded a rate limit. This can happen if the client exceeds one\nof the published rate limits or if multiple write operations are applied to\nan object within a short time window." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/boards/{board_id}/sections": { "get": { "summary": "List board sections", "description": "Get a list of all board sections from a board owned by the \"operation user_account\" - or a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "board_sections/list", "security": [ { "pinterest_oauth2": [ "boards:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/path_board_id" }, { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "description": "Board sections", "items": { "$ref": "#/components/schemas/BoardSection" } } } } ] } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "post": { "summary": "Create board section", "description": "Create a board section on a board owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "board_sections/create", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write" ] } ], "x-ratelimit-category": "org_write", "parameters": [ { "$ref": "#/components/parameters/path_board_id" } ], "requestBody": { "description": "Create a board section.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardSection" } } } }, "responses": { "201": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardSection" } } } }, "400": { "description": "Invalid board section parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid board section parameters." } } } }, "403": { "description": "Not authorized to create board sections.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to create board sections." } } } }, "409": { "description": "Could not get exclusive access to the board to create a new section.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 409, "message": "Could not get exclusive access to the board to create a new section." } } } }, "500": { "description": "Could not create a new board section.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 500, "message": "Could not create a new board section." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/boards/{board_id}/sections/{section_id}": { "patch": { "summary": "Update board section", "description": "Update a board section on a board owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "board_sections/update", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write" ] } ], "x-ratelimit-category": "org_write", "parameters": [ { "$ref": "#/components/parameters/path_board_id" }, { "$ref": "#/components/parameters/path_board_section_id" } ], "requestBody": { "description": "Update a board section.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardSection" } } } }, "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoardSection" } } } }, "400": { "description": "Invalid board section parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid board section parameters." } } } }, "403": { "description": "Not authorized to update board section.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to update board section." } } } }, "409": { "description": "Board section conflict.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 409, "message": "Board section conflict." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "delete": { "summary": "Delete board section", "description": "Delete a board section on a board owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "board_sections/delete", "security": [ { "pinterest_oauth2": [ "boards:read", "boards:write" ] } ], "x-ratelimit-category": "org_write", "parameters": [ { "$ref": "#/components/parameters/path_board_id" }, { "$ref": "#/components/parameters/path_board_section_id" } ], "responses": { "204": { "description": "Board section deleted successfully" }, "403": { "description": "Not authorized to delete board section.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to delete board section." } } } }, "404": { "description": "Board section not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Board section not found." } } } }, "409": { "description": "Board section conflict.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 409, "message": "Board section conflict." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/boards/{board_id}/sections/{section_id}/pins": { "get": { "summary": "List Pins on board section", "description": "Get a list of the Pins on a board section of a board owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "board_sections/list_pins", "security": [ { "pinterest_oauth2": [ "boards:read", "pins:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/path_board_id" }, { "$ref": "#/components/parameters/path_board_section_id" }, { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "description": "Pins", "items": { "$ref": "#/components/schemas/Pin" } } } } ] } } } }, "403": { "description": "Not authorized to access Pins on board section.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 403, "message": "Not authorized to access Pins on board section." } } } }, "404": { "description": "Board or section not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Board or section not found." } } } }, "409": { "description": "Board section conflict.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 409, "message": "Board section conflict." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/boards/{board_id}/pins": { "get": { "summary": "List Pins on board", "description": "Get a list of the Pins on a board owned by the \"operation user_account\" - or on a group board that has been shared with this account.\n- By default, the \"operation user_account\" is the token user_account.", "tags": [ "boards" ], "operationId": "boards/list_pins", "security": [ { "pinterest_oauth2": [ "boards:read", "pins:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/path_board_id" }, { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "description": "Pins", "items": { "$ref": "#/components/schemas/Pin" } } } } ] } } } }, "404": { "description": "Board not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Board not found." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/media": { "get": { "summary": "List media uploads", "description": "List media uploads filtered by given parameters.\n\nLearn more about video Pin creation.", "tags": [ "media" ], "operationId": "media/list", "security": [ { "pinterest_oauth2": [ "pins:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "description": "Media", "items": { "$ref": "#/components/schemas/MediaUploadDetails" } } } } ] } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "post": { "summary": "Register media upload", "description": "Register your intent to upload media\n\nThe response includes all of the information needed to upload the media\nto Pinterest.\n\nTo upload the media, make an HTTP POST request (using curl, for\nexample) to upload_url using the Content-Type header\nvalue. Send the media file's contents as the request's file\nparameter and also include all of the parameters from\nupload_parameters.\n\nLearn more about video Pin creation.", "tags": [ "media" ], "operationId": "media/create", "security": [ { "pinterest_oauth2": [ "pins:read", "pins:write" ] } ], "x-ratelimit-category": "org_write", "requestBody": { "description": "Create a media upload request", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MediaUploadRequest" } } } }, "responses": { "201": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MediaUpload" } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/media/{media_id}": { "get": { "summary": "Get media upload details", "description": "Get details for a registered media upload, including its current status.\n\nLearn more about video Pin creation.", "tags": [ "media" ], "operationId": "media/get", "security": [ { "pinterest_oauth2": [ "pins:read" ] } ], "x-ratelimit-category": "org_read", "parameters": [ { "$ref": "#/components/parameters/path_media_id" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MediaUploadDetails" } } } }, "404": { "description": "Media upload not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 404, "message": "Media upload not found" } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/ad_accounts": { "get": { "summary": "List ad accounts", "description": "Get a list of the ad_accounts that the \"operation user_account\" has access to.\n- This includes ad_accounts they own and ad_accounts that are owned by others who have granted them Business Access.", "tags": [ "ad_accounts" ], "operationId": "ad_accounts/list", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_read", "parameters": [ { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" }, { "$ref": "#/components/parameters/query_include_shared_accounts" } ], "responses": { "200": { "description": "response", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "description": "Ad accounts", "items": { "$ref": "#/components/schemas/AdAccount" } } } } ] } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } } } }, "/ad_accounts/{ad_account_id}/analytics": { "get": { "summary": "Get ad account analytics", "description": "Get analytics for the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "ad_account/analytics", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_columns" }, { "$ref": "#/components/parameters/query_granularity" }, { "$ref": "#/components/parameters/query_conversion_attribution_click_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_engagement_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_view_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_conversion_report_time" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdAccountAnalyticsResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/campaigns": { "get": { "summary": "List campaigns", "description": "Get a list of the campaigns in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "campaigns/list", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_read", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_campaign_ids" }, { "$ref": "#/components/parameters/query_entity_statuses" }, { "$ref": "#/components/parameters/query_page_size" }, { "$ref": "#/components/parameters/query_order" }, { "$ref": "#/components/parameters/query_bookmark" } ], "responses": { "200": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/CampaignResponse" } } } } ] } } }, "description": "Success" }, "400": { "description": "Invalid ad account campaign parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account campaign parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/campaigns/analytics": { "get": { "summary": "Get campaign analytics", "description": "Get analytics for the specified campaigns in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "campaigns/analytics", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_campaign_ids_required" }, { "$ref": "#/components/parameters/query_columns" }, { "$ref": "#/components/parameters/query_granularity" }, { "$ref": "#/components/parameters/query_conversion_attribution_click_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_engagement_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_view_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_conversion_report_time" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CampaignsAnalyticsResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account campaign analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account campaign analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/ad_groups": { "get": { "summary": "List ad groups", "description": "Get a list of the ad groups in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "ad_groups/list", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_read", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_campaign_ids" }, { "$ref": "#/components/parameters/query_ad_group_ids" }, { "$ref": "#/components/parameters/query_entity_statuses" }, { "$ref": "#/components/parameters/query_page_size" }, { "$ref": "#/components/parameters/query_order" }, { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_translate_interests_to_names" } ], "responses": { "200": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/AdGroupResponse" } } } } ] } } }, "description": "Success" }, "400": { "description": "Invalid ad account group parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account group parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/ad_groups/analytics": { "get": { "summary": "Get ad group analytics", "description": "Get analytics for the specified ad groups in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "ad_groups/analytics", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_ad_group_ids_required" }, { "$ref": "#/components/parameters/query_columns" }, { "$ref": "#/components/parameters/query_granularity" }, { "$ref": "#/components/parameters/query_conversion_attribution_click_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_engagement_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_view_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_conversion_report_time" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdGroupsAnalyticsResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account group analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account group analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/ads": { "get": { "summary": "List ads", "description": "Get a list of the ads in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "ads/list", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_read", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_campaign_ids" }, { "$ref": "#/components/parameters/query_ad_group_ids" }, { "$ref": "#/components/parameters/query_ad_ids" }, { "$ref": "#/components/parameters/query_entity_statuses" }, { "$ref": "#/components/parameters/query_page_size" }, { "$ref": "#/components/parameters/query_order" }, { "$ref": "#/components/parameters/query_bookmark" } ], "responses": { "200": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/AdResponse" } } } } ] } } }, "description": "Success" }, "400": { "description": "Invalid ad account ads parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account ads parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/ads/analytics": { "get": { "summary": "Get ad analytics", "description": "Get analytics for the specified ads in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "ads/analytics", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_ad_ids_required" }, { "$ref": "#/components/parameters/query_columns" }, { "$ref": "#/components/parameters/query_granularity" }, { "$ref": "#/components/parameters/query_conversion_attribution_click_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_engagement_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_view_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_conversion_report_time" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdsAnalyticsResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account ads analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account ads analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/product_groups/analytics": { "get": { "summary": "Get product group analytics", "description": "Get analytics for the specified product groups in the specified ad_account_id, filtered by the specified options.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "product_groups/analytics", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_start_date" }, { "$ref": "#/components/parameters/query_end_date" }, { "$ref": "#/components/parameters/query_product_group_ids_required" }, { "$ref": "#/components/parameters/query_columns" }, { "$ref": "#/components/parameters/query_granularity" }, { "$ref": "#/components/parameters/query_conversion_attribution_click_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_engagement_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_view_window_days" }, { "$ref": "#/components/parameters/query_conversion_attribution_conversion_report_time" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductGroupAnalyticsResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account ads analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account ads analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/ad_accounts/{ad_account_id}/reports": { "get": { "summary": "Get the account analytics report created by the async call", "description": "This returns a URL to an analytics report given a token returned from the post request report creation call. You can use the URL to download the report and it's valid for an hour.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "analytics/get_report", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" }, { "$ref": "#/components/parameters/query_token_required" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdsAnalyticsGetAsyncResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account ads analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account ads analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] }, "post": { "summary": "Create async request for an account analytics report", "description": "This returns a token that you can use to download the report when it is ready. Note that this endpoint requires the parameters to be passed as JSON-formatted in the request body. This endpoint does not support URL query parameters.\n- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager.", "operationId": "analytics/create_report", "security": [ { "pinterest_oauth2": [ "ads:read" ] } ], "x-ratelimit-category": "ads_analytics", "parameters": [ { "$ref": "#/components/parameters/path_ad_account_id" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdsAnalyticsCreateAsyncRequest" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdsAnalyticsCreateAsyncResponse" } } }, "description": "Success" }, "400": { "description": "Invalid ad account ads analytics parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "code": 400, "message": "Invalid ad account ads analytics parameters." } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "ad_accounts" ] } }, "/catalogs/feeds": { "get": { "x-ratelimit-category": "catalogs_read", "summary": "List feeds", "description": "This endpoint is currently in beta and not available to all apps. Learn more.\n\nFetch feeds owned by the \"operating user_account\".", "operationId": "feeds/list", "security": [ { "pinterest_oauth2": [ "catalogs:read" ] } ], "parameters": [ { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" } ], "responses": { "200": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/CatalogsFeed" } } } } ] } } }, "description": "Success" }, "400": { "description": "Invalid parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidRequest": { "value": { "code": 1, "message": "Parameter 'page_size' was not numeric (was 3e)\"" } } } } } }, "401": { "description": "Unauthorized access.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "UnauthorizedAccess": { "value": { "code": 29, "message": "You are not permitted to access that resource." } } } } } }, "default": { "description": "Unexpected error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] }, "post": { "x-ratelimit-category": "catalogs_write", "summary": "Create feed", "description": "This endpoint is currently in beta and not available to all apps. Learn more.\n\nCreate a new feed owned by the \"operating user_account\".", "operationId": "feeds/create", "security": [ { "pinterest_oauth2": [ "catalogs:read", "catalogs:write" ] } ], "requestBody": { "description": "Request object used to created a feed.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsFeedsCreateRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsFeed" } } }, "description": "Success" }, "400": { "description": "Invalid feed parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidRequest": { "value": { "code": 1, "message": "Invalid request: ..." } } } } } }, "401": { "description": "Unauthorized access.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "UnauthorizedAccess": { "value": { "code": 29, "message": "You are not permitted to access that resource." } } } } } }, "403": { "description": "Business account required.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "BusinessAccountRequired": { "value": { "code": 654, "message": "You must have a business account to operate as merchant." } } } } } }, "409": { "description": "User website required.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "UserWebsiteRequired": { "value": { "code": 4168, "message": "User does not have a website." } }, "UserWebsiteNotVerified": { "value": { "code": 4169, "message": "User does not have a verified website." } } } } } }, "422": { "description": "Unique feed name is required.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "FeedDuplicatedName": { "value": { "code": 4170, "message": "The feed name already exists." } } } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] } }, "/catalogs/feeds/{feed_id}": { "get": { "x-ratelimit-category": "catalogs_read", "summary": "Get feed", "description": "This endpoint is currently in beta and not available to all apps. Learn more.\n\nGet a single feed owned by the \"operating user_account\".", "operationId": "feeds/get", "security": [ { "pinterest_oauth2": [ "catalogs:read" ] } ], "parameters": [ { "$ref": "#/components/parameters/path_catalogs_feed_id" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsFeed" } } }, "description": "Success" }, "400": { "description": "Invalid feed parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidRequest": { "value": { "code": 1, "message": "'feed_id' value '1511851494501_' must match the pattern: ^\\d+$\"}" } } } } } }, "401": { "description": "Unauthorized access.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "UnauthorizedAccess": { "value": { "code": 29, "message": "You are not permitted to access that resource." } } } } } }, "404": { "description": "Data feed not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "FeedNotFound": { "value": { "code": 4161, "message": "Sorry! We could not find your catalogs feed." } } } } } }, "default": { "description": "Unexpected error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] }, "patch": { "x-ratelimit-category": "catalogs_write", "summary": "Update feed", "description": "This endpoint is currently in beta and not available to all apps. Learn more.\n\nUpdate a feed owned by the \"operating user_account\".", "operationId": "feeds/update", "security": [ { "pinterest_oauth2": [ "catalogs:read", "catalogs:write" ] } ], "parameters": [ { "$ref": "#/components/parameters/path_catalogs_feed_id" } ], "requestBody": { "description": "Request object used to update a feed.", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsFeedsUpdateRequest" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsFeed" } } }, "description": "Success" }, "400": { "description": "Invalid feed parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidRequest": { "value": { "code": 1, "message": "Invalid request: ..." } } } } } }, "403": { "description": "Forbidden. Account not approved for feed mutations yet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "MerchantDisapproved": { "value": { "code": 2625, "message": "Sorry, you cannot perform this action. Account is disapproved." } }, "MerchantUnderReview": { "value": { "code": 2625, "message": "Sorry, you cannot perform this action. Account is under review." } } } } } }, "404": { "description": "Data feed not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "FeedNotFound": { "value": { "code": 4161, "message": "Sorry! We could not find your catalogs feed." } } } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] }, "delete": { "x-ratelimit-category": "catalogs_write", "summary": "Delete feed", "description": "This endpoint is currently in beta and not available to all apps. Learn more.\n\nDelete a feed owned by the \"operating user_account\".", "operationId": "feeds/delete", "security": [ { "pinterest_oauth2": [ "catalogs:read", "catalogs:write" ] } ], "parameters": [ { "$ref": "#/components/parameters/path_catalogs_feed_id" } ], "responses": { "204": { "description": "Feed deleted successfully." }, "400": { "description": "Invalid feed parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidRequest": { "value": { "code": 1, "message": "'feed_id' value '1511851494501_' must match the pattern: ^\\d+$\"}" } } } } } }, "403": { "description": "Forbidden. Account not approved for feed mutations yet.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "MerchantDisapproved": { "value": { "code": 2625, "message": "Sorry, you cannot perform this action. Account is disapproved." } }, "MerchantUnderReview": { "value": { "code": 2625, "message": "Sorry, you cannot perform this action. Account is under review." } } } } } }, "404": { "description": "Data feed not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "FeedNotFound": { "value": { "code": 4161, "message": "Sorry! We could not find your catalogs feed." } } } } } }, "409": { "description": "Conflict. Can't delete a feed with active promotions.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "FeedHasActivePromotions": { "value": { "code": 4162, "message": "We can't disable a Product Group with active promotions." } } } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] } }, "/catalogs/feeds/{feed_id}/processing_results": { "get": { "x-ratelimit-category": "catalogs_read", "summary": "List processing results for a given feed", "description": "This endpoint is currently in beta and not available to all apps. Learn more.\n\nFetch a feed processing results owned by the owner user account.", "operationId": "feed_processing_results/list", "security": [ { "pinterest_oauth2": [ "catalogs:read" ] } ], "parameters": [ { "$ref": "#/components/parameters/path_catalogs_feed_id" }, { "$ref": "#/components/parameters/query_bookmark" }, { "$ref": "#/components/parameters/query_page_size" } ], "responses": { "200": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Paginated" }, { "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/CatalogsFeedProcessingResult" } } } } ] } } }, "description": "Success" }, "400": { "description": "Invalid parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "InvalidRequest": { "value": { "code": 1, "message": "Parameter 'page_size' was not numeric (was 3e)\"" } } } } } }, "401": { "description": "Unauthorized access.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "UnauthorizedAccess": { "value": { "code": 29, "message": "You are not permitted to access that resource." } } } } } }, "404": { "description": "Feed not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "examples": { "FeedNotFound": { "value": { "code": 4161, "message": "Sorry! We could not find your catalogs feed." } } } } } }, "default": { "description": "Unexpected error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] } }, "/catalogs/items/batch/{batch_id}": { "get": { "summary": "Get catalogs items batch", "description": "Get a single catalogs items batch created by the \"operating user_account\"", "operationId": "items_batch/get", "security": [ { "pinterest_oauth2": [ "catalogs:read" ] } ], "x-ratelimit-category": "catalogs_read", "parameters": [ { "$ref": "#/components/parameters/path_catalogs_items_batch_id" } ], "responses": { "200": { "description": "Response containing the requested catalogs items batch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsItemsBatch" } } } }, "401": { "description": "Not authorized to access catalogs items batch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Not authorized to access catalogs items batch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Catalogs items batch not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] } }, "/catalogs/items/batch": { "post": { "summary": "Perform an operation on an item batch", "description": "This endpoint supports multiple operations on a set of one or more catalog items", "operationId": "items_batch/post", "x-ratelimit-category": "catalogs_write", "security": [ { "pinterest_oauth2": [ "catalogs:read", "catalogs:write" ] } ], "requestBody": { "description": "Request object used to create catalogs items in a batch", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsItemsBatchRequest" } } } }, "responses": { "200": { "description": "Response containing the requested catalogs items batch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CatalogsItemsBatch" } } } }, "401": { "description": "Not authorized to post catalogs items", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Not authorized to post catalogs items", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "default": { "description": "Unexpected error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } } }, "tags": [ "catalogs" ] } } }, "components": { "securitySchemes": { "pinterest_oauth2": { "type": "oauth2", "flows": { "authorizationCode": { "authorizationUrl": "https://www.pinterest.com/oauth/", "tokenUrl": "https://api.pinterest.com/v5/oauth/token", "scopes": { "ads:read": "See all of your advertising data, including ads, ad groups, campaigns etc.", "ads:write": "Create, update, or delete ads, ad groups, campaigns etc.", "boards:read": "See your public boards, including group boards you join", "boards:read_secret": "See your secret boards", "boards:write": "Create, update, or delete your public boards", "boards:write_secret": "Create, update, or delete your secret boards", "catalogs:read": "See all of your catalogs data", "catalogs:write": "Create, update, or delete your catalogs data", "pins:read": "See your public Pins", "pins:read_secret": "See your secret Pins", "pins:write": "Create, update, or delete your public Pins", "pins:write_secret": "Create, update, or delete your secret Pins", "user_accounts:read": "See your user accounts" } } } }, "basic": { "type": "http", "scheme": "basic" } }, "schemas": { "Error": { "title": "Error", "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" } }, "required": [ "code", "message" ] }, "Paginated": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object" } }, "bookmark": { "type": "string", "nullable": true } }, "required": [ "items" ] }, "Account": { "type": "object", "readOnly": true, "properties": { "account_type": { "description": "Type of account", "type": "string", "enum": [ "PINNER", "BUSINESS" ] }, "profile_image": { "type": "string" }, "website_url": { "type": "string" }, "username": { "type": "string" } } }, "AnalyticsResponse": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/AnalyticsMetricsResponse" } }, "AnalyticsMetricsResponse": { "type": "object", "properties": { "daily_metrics": { "description": "Array with the requested daily metric records", "items": { "type": "object", "properties": { "data_status": { "description": "Metrics availablity, e.g., \"READY\".", "example": "READY", "type": "string", "enum": [ "PROCESSING", "READY", "ESTIMATE", "BEFORE_BUSINESS_CREATED", "BEFORE_DATA_RETENTION_PERIOD", "BEFORE_PIN_DATA_RETENTION_PERIOD", "BEFORE_METRIC_START_DATE", "BEFORE_CORE_METRIC_START_DATE", "BEFORE_PIN_FORMAT_METRIC_START_DATE", "BEFORE_AUDIENCE_METRIC_START_DATE", "BEFORE_AUDIENCE_MONTHLY_METRIC_START_DATE", "BEFORE_VIDEO_METRIC_START_DATE", "BEFORE_CONVERSION_METRIC_START_DATE", "PURCHASERS_METRIC_SMALLER_THAN_THRESHOLD", "IN_BAD_TAG_DATE", "BEFORE_PUBLISHED_METRIC_START_DATE", "BEFORE_ASSIST_METRIC_START_DATE", "BEFORE_PIN_CREATED", "BEFORE_ACCOUNT_CLAIMED", "BEFORE_DEMOGRAPHIC_FILTERS_START_DATE", "AUDIENCE_SEGMENT_SMALLER_THAN_THRESHOLD", "AUDIENCE_TOTAL_SMALLER_THAN_THRESHOLD", "BEFORE_PRODUCT_GROUP_FILTER_START_DATE" ] }, "date": { "description": "Metrics date (UTC): YYYY-MM-DD.", "example": "2019-12-01", "type": "string" }, "metrics": { "description": "The metric name and daily value for each requested metric", "type": "object", "additionalProperties": { "type": "number" }, "example": { "ENGAGEMENT": 100, "CLICKTHROUGH_RATE": 0.2, "CLICKTHROUGH": 200, "CLOSEUP": 37, "CLOSEUP_RATE": 0.5, "ENGAGEMENT_RATE": 0.2, "SAVE": 20, "SAVE_RATE": 0.18, "IMPRESSION": 240 } } } }, "type": "array" }, "summary_metrics": { "description": "The metric name and value over the requested period for each requested metric", "type": "object", "additionalProperties": { "type": "number" }, "example": { "ENGAGEMENT": 100, "CLICKTHROUGH_RATE": 0.2, "CLICKTHROUGH": 200, "CLOSEUP": 37, "CLOSEUP_RATE": 0.5, "ENGAGEMENT_RATE": 0.2, "SAVE": 20, "SAVE_RATE": 0.18, "IMPRESSION": 240 } } } }, "AdGroupSummaryStatus": { "type": "string", "description": "Summary status for ad group", "example": "RUNNING", "enum": [ "RUNNING", "PAUSED", "NOT_STARTED", "COMPLETED", "ADVERTISER_DISABLED", "ARCHIVED" ] }, "AdResponse": { "allOf": [ { "type": "object", "description": "Creation fields", "properties": { "ad_group_id": { "description": "ID of the ad group that contains the ad.", "example": "2680059592705", "type": "string", "pattern": "^\\d+$" }, "android_deep_link": { "description": "Deep link URL for Android devices. Not currently available. Using this field will generate an error.", "nullable": true, "type": "string" }, "carousel_android_deep_links": { "description": "Comma-separated deep links for the carousel pin on Android.", "type": "array", "nullable": true, "items": { "type": "string" } }, "carousel_destination_urls": { "description": "Comma-separated destination URLs for the carousel pin to promote.", "type": "array", "nullable": true, "items": { "type": "string" } }, "carousel_ios_deep_links": { "description": "Comma-separated deep links for the carousel pin on iOS.", "type": "array", "nullable": true, "items": { "type": "string" } }, "click_tracking_url": { "description": "Tracking url for the ad clicks.", "type": "string", "nullable": true }, "creative_type": { "description": "Ad creative type enum", "type": "string", "enum": [ "REGULAR", "VIDEO", "SHOPPING", "CAROUSEL", "MAX_VIDEO", "SHOP_THE_PIN", "STORY" ], "example": "REGULAR" }, "destination_url": { "description": "Destination URL.", "type": "string", "nullable": true }, "ios_deep_link": { "description": "Deep link URL for iOS devices. Not currently available. Using this field will generate an error.", "type": "string", "nullable": true }, "is_pin_deleted": { "description": "Is original pin deleted?", "example": false, "type": "boolean" }, "is_removable": { "description": "Is pin repinnable?", "example": false, "type": "boolean" }, "name": { "description": "Name of the ad - 255 chars max.", "type": "string", "nullable": true }, "pin_id": { "description": "Pin ID.", "example": "394205773611545468", "type": "string", "pattern": "^\\d+$" }, "status": { "$ref": "#/components/schemas/EntityStatus" }, "tracking_urls": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/TrackingUrls" } ], "nullable": true }, "view_tracking_url": { "description": "Tracking URL for ad impressions.", "type": "string", "nullable": true } } }, { "type": "object", "properties": { "ad_account_id": { "description": "The ID of the advertiser that this ad belongs to.", "example": "549755885175", "type": "string", "pattern": "^\\d+$" }, "campaign_id": { "description": "ID of the ad campaign that contains this ad.", "example": "626735565838", "type": "string", "pattern": "^\\d+$" }, "collection_items_destination_url_template": { "description": "Destination URL template for all items within a collections drawer.", "type": "string", "nullable": true }, "created_time": { "description": "Pin creation time. Unix timestamp in seconds.", "example": 1451431341, "type": "integer" }, "id": { "description": "The ID of this ad.", "example": "687195134316", "type": "string", "pattern": "^\\d+$" }, "rejected_reasons": { "description": "Enum reason why the pin was rejected. Returned if review_status is \"REJECTED\".", "type": "array", "items": { "type": "string", "description": "ad disapproval reasons", "enum": [ "HASHTAGS", "PROMOTIONS_AND_PRICES", "TARGETING", "LANDING_PAGE", "CAPS_AND_SYMBOLS", "SHOCKING", "WEIGHT_LOSS", "PROHIBITED_PRODUCT", "AUTHENTICITY", "NUDITY", "CONFUSING_DESIGN", "URGENCY", "RATINGS", "APP", "ALCOHOL", "CONTESTS", "POLITICAL", "OTHER", "IMAGE", "NAR", "INCONSISTENT", "CLICKBAIT", "NO_DESCRIPTION", "LOW_QUALITY", "EXAGGERATED_CLAIMS", "PINTEREST_BRAND", "ALCOHOL_NO_SALE", "LANDING_PAGE_SPEED", "LANDING_PAGE_HARDWALL", "LANDING_PAGE_BROKEN", "LANDING_PAGE_QUALITY", "OUT_OF_STOCK", "IMAGE_LOW_QUALITY", "IMAGE_BUSY", "IMAGE_POORLY_EDITED", "IMAGE_BEFORE_AFTER", "UGC", "FAKE_BUTTONS", "WEAPONS", "SENSITIVE", "UNACCEPTABLE_BUSINESS", "SUSPICIOUS_CLAIMS", "PHARMA", "SUSPICIOUS_SUPPLEMENTS", "ILLEGAL_RECREATIONAL_DRUG", "LOW_QUALITY_LANDING_PAGE", "RESTRICTED_HEALTHCARE", "INCONSISTENT_LANG_FR" ] } }, "rejection_labels": { "description": "Text reason why the pin was rejected. Returned if review_status is \"REJECTED\".", "type": "array", "items": { "type": "string" } }, "review_status": { "type": "string", "description": "Ad review status", "example": "PENDING", "enum": [ "OTHER", "PENDING", "REJECTED", "APPROVED" ] }, "type": { "description": "Always \"ad\".", "example": "pinpromotion", "type": "string" }, "updated_time": { "description": "Last update time. Unix timestamp in seconds.", "example": 1451431341, "type": "integer" }, "summary_status": { "type": "string", "allOf": [ { "$ref": "#/components/schemas/PinPromotionSummaryStatus" } ], "description": "Ad summary status" } } } ] }, "AdsAnalyticsMetricsFilter": { "type": "object", "properties": { "field": { "$ref": "#/components/schemas/AdsAnalyticsFilterColumn" }, "operator": { "$ref": "#/components/schemas/AdsAnalyticsFilterOperator" }, "values": { "type": "array", "description": "List of values for filtering", "items": { "type": "number" }, "minItems": 1 } } }, "AdsAnalyticsFilterColumn": { "type": "string", "description": "Reporting columns for sync reporting data filter", "example": "SPEND_IN_DOLLAR", "enum": [ "SPEND_IN_DOLLAR", "TOTAL_IMPRESSION" ] }, "AdsAnalyticsFilterOperator": { "type": "string", "description": "Filter operator for sync reporting", "example": "LESS_THAN", "enum": [ "LESS_THAN", "GREATER_THAN" ] }, "AdsAnalyticsResponse": { "type": "array", "items": { "type": "object", "properties": { "AD_ID": { "description": "The ID of the ad that this metrics belongs to.", "type": "string", "pattern": "^\\d+$" }, "DATE": { "description": "Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`)", "type": "string", "format": "date" } }, "required": [ "AD_ID" ], "additionalProperties": true, "example": { "DATE": "2021-04-01", "AD_ID": "547602124502", "SPEND_IN_DOLLAR": 30, "TOTAL_CLICKTHROUGH": 216 } } }, "AdsAnalyticsTargetingType": { "type": "string", "description": "Reporting targeting type", "example": "APPTYPE", "enum": [ "KEYWORD", "APPTYPE", "GENDER", "LOCATION", "PLACEMENT", "COUNTRY", "TARGETED_INTEREST", "PINNER_INTEREST", "AUDIENCE_INCLUDE", "AUDIENCE_EXCLUDE", "GEO", "AGE_BUCKET", "REGION" ] }, "ActionType": { "type": "string", "description": "Ad group billable event type.", "example": "CLICKTHROUGH", "enum": [ "CLICKTHROUGH", "IMPRESSION", "VIDEO_V_50_MRC", "BILLABLE_ENGAGEMENT" ] }, "AdGroupResponse": { "allOf": [ { "type": "object", "properties": { "name": { "description": "Ad group name.", "type": "string", "example": "Ad Group For Pin: 687195905986" }, "status": { "type": "string", "allOf": [ { "$ref": "#/components/schemas/EntityStatus" } ], "description": "Ad group/entity status." }, "budget_in_micro_currency": { "description": "Budget in micro currency. This field is **REQUIRED** for non-CBO (campaign budget optimization) campaigns. A CBO campaign automatically generates ad group budgets from its campaign budget to maximize campaign outcome. A CBO campaign is limited to 70 or less ad groups.", "type": "integer", "example": 5000000, "nullable": true }, "bid_in_micro_currency": { "description": "Bid price in micro currency. This field is **REQUIRED** for the following campaign objective_type/billable_event combinations: AWARENESS/IMPRESSION, CONSIDERATION/CLICKTHROUGH, CATALOG_SALES/CLICKTHROUGH, VIDEO_VIEW/VIDEO_V_50_MRC.", "type": "integer", "example": 5000000, "nullable": true }, "budget_type": { "description": "Budget type. If DAILY, an ad group's daily spend will not exceed the budget parameter value. If LIFETIME, the end_time parameter is **REQUIRED**, and the ad group spend is spread evenly between the ad group `start_time` and `end_time` range. A CBO campaign automatically generates ad group budgets from its campaign budget to maximize campaign outcome.", "type": "string", "enum": [ "DAILY", "LIFETIME", "CBO_ADGROUP" ] }, "start_time": { "description": "Ad group start time. Unix timestamp in seconds. Defaults to current time.", "type": "integer", "example": 5686848000, "nullable": true }, "end_time": { "description": "Ad group end time. Unix timestamp in seconds.", "type": "integer", "example": 5705424000, "nullable": true }, "targeting_spec": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Ad group targeting specification defining the ad group target audience. For example, '{\"APPTYPE\":[\"iphone\"], \"GENDER\":[\"male\"], \"LOCALE\":[\"en-US\"], \"LOCATION\":[\"501\"], \"AGE_BUCKET\":[\"25-34\"]}'" }, "lifetime_frequency_cap": { "description": "Set a limit to the number of times a promoted pin from this campaign can be impressed by a pinner within the past rolling 30 days. Only available for CPM (cost per mille (1000 impressions)) ad groups. A CPM ad group has an IMPRESSION billable_event value. This field **REQUIRES** the `end_time` field.", "type": "integer", "example": 100 }, "tracking_urls": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/TrackingUrls" } ], "description": "Third-party tracking URLs.
JSON object with the format: {\"Tracking event enum\":[URL string array],...}
For example: {\"impression\": [\"URL1\", \"URL2\"], \"click\": [\"URL1\", \"URL2\", \"URL3\"]}.
Up to three tracking URLs are supported for each event type. Tracking URLs set at the ad group or ad level can override those set at the campaign level. May be null. Pass in an empty object - {} - to remove tracking URLs.

For more information, see Third-party and dynamic tracking.", "nullable": true }, "auto_targeting_enabled": { "description": "Enable auto-targeting for ad group. Also known as \"expanded targeting\".", "type": "boolean", "example": true, "nullable": true }, "placement_group": { "type": "string", "allOf": [ { "$ref": "#/components/schemas/PlacementGroupType" } ], "description": "Placement group." }, "pacing_delivery_type": { "type": "string", "allOf": [ { "$ref": "#/components/schemas/PacingDeliveryType" } ], "description": "Pacing delivery type. With ACCELERATED, an ad group budget is spent as fast as possible. With STANDARD, an ad group budget is spent smoothly over a day." }, "conversion_learning_mode_type": { "type": "string", "description": "oCPM learn mode", "example": "ACTIVE", "nullable": true, "enum": [ "NOT_ACTIVE", "ACTIVE", null ] }, "summary_status": { "type": "string", "allOf": [ { "$ref": "#/components/schemas/AdGroupSummaryStatus" } ], "description": "Ad group summary status." }, "feed_profile_id": { "description": "Feed Profile ID associated to the adgroup.", "type": "string", "example": "626736533506" } } }, { "type": "object", "properties": { "campaign_id": { "description": "Campaign ID of the ad group.", "type": "string", "pattern": "^\\d+$", "example": "626736533506" }, "billable_event": { "$ref": "#/components/schemas/ActionType" }, "id": { "description": "Ad group ID.", "type": "string", "pattern": "^\\d+$", "example": "2680060704746" }, "type": { "description": "Always \"adgroup\".", "type": "string" }, "ad_account_id": { "description": "Advertiser ID.", "type": "string", "pattern": "^\\d+$", "example": "549755885175" }, "created_time": { "description": "Ad group creation time. Unix timestamp in seconds.", "type": "integer", "example": 1476477189 }, "updated_time": { "description": "Ad group last update time. Unix timestamp in seconds.", "type": "integer", "example": 1476477189 } } } ] }, "AdGroupsAnalyticsResponse": { "type": "array", "items": { "type": "object", "properties": { "AD_GROUP_ID": { "description": "The ID of the ad group that this metrics belongs to.", "type": "string", "pattern": "^\\d+$" }, "DATE": { "description": "Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`)", "type": "string", "format": "date" } }, "required": [ "AD_GROUP_ID" ], "additionalProperties": true, "example": { "DATE": "2021-04-01", "AD_GROUP_ID": "547602124502", "SPEND_IN_DOLLAR": 30, "TOTAL_CLICKTHROUGH": 216 } } }, "AdAccount": { "type": "object", "readOnly": true, "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "owner": { "title": "Ad account owner", "type": "object", "properties": { "username": { "type": "string", "description": "Public username for the user account" } } }, "country": { "$ref": "#/components/schemas/Country" }, "currency": { "$ref": "#/components/schemas/Currency" } } }, "AdAccountAnalyticsResponse": { "type": "array", "items": { "type": "object", "properties": { "AD_ACCOUNT_ID": { "description": "The ID of the advertiser that this metrics belongs to.", "type": "string", "pattern": "^\\d+$" }, "DATE": { "description": "Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`)", "type": "string", "format": "date" } }, "required": [ "AD_ACCOUNT_ID" ], "additionalProperties": true, "example": { "DATE": "2021-04-01", "AD_ACCOUNT_ID": "547602124502", "SPEND_IN_DOLLAR": 30, "TOTAL_CLICKTHROUGH": 216 } } }, "AdsAnalyticsGetAsyncResponse": { "type": "object", "properties": { "report_status": { "type": "string" }, "url": { "type": "string", "nullable": true }, "size": { "type": "number", "nullable": true } } }, "AdsAnalyticsCreateAsyncRequest": { "type": "object", "allOf": [ { "type": "object", "properties": { "start_date": { "description": "Metric report start date (UTC). Format: YYYY-MM-DD", "type": "string", "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$", "example": "2020-12-20" }, "end_date": { "description": "Metric report end date (UTC). Format: YYYY-MM-DD", "type": "string", "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$", "example": "2020-12-20" }, "granularity": { "description": "TOTAL - metrics are aggregated over the specified date range.
DAY - metrics are broken down daily.
HOUR - metrics are broken down hourly.
WEEKLY - metrics are broken down weekly.
MONTHLY - metrics are broken down monthly", "type": "string", "allOf": [ { "$ref": "#/components/schemas/Granularity" } ] }, "click_window_days": { "description": "Number of days to use as the conversion attribution window for a pin click action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days.", "type": "integer", "allOf": [ { "$ref": "#/components/schemas/ConversionAttributionWindowDays" } ], "default": 30 }, "engagement_window_days": { "description": "Number of days to use as the conversion attribution window for an engagement action. Engagements include saves, closeups, link clicks, and carousel card swipes. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days.", "type": "integer", "allOf": [ { "$ref": "#/components/schemas/ConversionAttributionWindowDays" } ], "default": 30 }, "view_window_days": { "description": "Number of days to use as the conversion attribution window for a view action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `1` day.", "type": "integer", "allOf": [ { "$ref": "#/components/schemas/ConversionAttributionWindowDays" } ], "default": 1 }, "conversion_report_time": { "description": "The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.", "type": "string", "allOf": [ { "$ref": "#/components/schemas/ConversionReportTimeType" } ], "default": "TIME_OF_AD_ACTION" }, "attribution_types": { "description": "List of types of attribution for the conversion report", "type": "array", "items": { "$ref": "#/components/schemas/ConversionReportAttributionType" } } }, "required": [ "start_date", "end_date", "granularity" ] }, { "type": "object", "allOf": [ { "type": "object", "properties": { "campaign_ids": { "type": "array", "description": "List of campaign ids", "example": [ "12345678" ], "items": { "type": "string", "pattern": "^\\d+$" }, "maxItems": 500, "minItems": 1 } } }, { "type": "object", "properties": { "campaign_statuses": { "type": "array", "description": "List of status values for filtering", "example": [ "RUNNING", "PAUSED" ], "items": { "$ref": "#/components/schemas/CampaignSummaryStatus" }, "maxItems": 6, "minItems": 1 } } }, { "type": "object", "properties": { "campaign_objective_types": { "type": "array", "description": "List of values for filtering", "example": [ "AWARENESS", "VIDEO_VIEW" ], "items": { "$ref": "#/components/schemas/ObjectiveType" }, "maxItems": 6, "minItems": 1 } } }, { "type": "object", "properties": { "ad_group_ids": { "type": "array", "description": "List of ad group ids", "example": [ "12345678" ], "items": { "type": "string", "pattern": "^\\d+$" }, "maxItems": 500, "minItems": 1 } } }, { "type": "object", "properties": { "ad_group_statuses": { "type": "array", "description": "List of values for filtering", "example": [ "RUNNING", "PAUSED" ], "items": { "$ref": "#/components/schemas/AdGroupSummaryStatus" }, "maxItems": 6, "minItems": 1 } } }, { "type": "object", "properties": { "ad_ids": { "type": "array", "description": "List of ad ids", "example": [ "12345678" ], "items": { "type": "string", "pattern": "^\\d+$" }, "maxItems": 500, "minItems": 1 } } }, { "type": "object", "properties": { "ad_statuses": { "type": "array", "description": "List of values for filtering", "example": [ "APPROVED", "PAUSED" ], "items": { "$ref": "#/components/schemas/PinPromotionSummaryStatus" }, "maxItems": 6, "minItems": 1 } } }, { "type": "object", "properties": { "product_group_ids": { "type": "array", "description": "List of product group ids", "example": [ "12345678" ], "items": { "type": "string", "pattern": "^\\d+$" }, "maxItems": 500, "minItems": 1 } } }, { "type": "object", "properties": { "product_group_statuses": { "type": "array", "description": "List of values for filtering", "example": [ "RUNNING", "PAUSED" ], "items": { "$ref": "#/components/schemas/ProductGroupSummaryStatus" }, "maxItems": 6, "minItems": 1 } } }, { "type": "object", "properties": { "product_item_ids": { "type": "array", "description": "List of product item ids", "example": [ "12345678" ], "items": { "type": "string", "pattern": "^\\d+$" }, "maxItems": 500, "minItems": 1 } } }, { "$ref": "#/components/schemas/TargetingTypeFilter" }, { "type": "object", "properties": { "metrics_filters": { "type": "array", "description": "List of metrics filters", "minItems": 1, "items": { "$ref": "#/components/schemas/AdsAnalyticsMetricsFilter" } } } } ] }, { "type": "object", "required": [ "level", "columns" ], "properties": { "columns": { "description": "Metric and entity columns", "type": "array", "items": { "$ref": "#/components/schemas/ReportingColumnAsync" } }, "level": { "type": "string", "description": "Level of the report", "allOf": [ { "$ref": "#/components/schemas/MetricsReportingLevel" } ], "example": "CAMPAIGN" }, "report_format": { "description": "Specification for formatting report data", "type": "string", "allOf": [ { "$ref": "#/components/schemas/DataOutputFormat" } ], "default": "JSON" } } } ] }, "AdsAnalyticsCreateAsyncResponse": { "type": "object", "properties": { "report_status": { "type": "string" }, "token": { "type": "string" }, "message": { "type": "string", "nullable": true } } }, "BatchOperation": { "description": "The operation performed by the batch", "example": "UPDATE", "type": "string", "enum": [ "UPDATE", "CREATE", "UPSERT" ] }, "BatchOperationStatus": { "description": "The status of the operation performed by the batch", "example": "PROCESSING", "type": "string", "enum": [ "PROCESSING", "COMPLETED" ] }, "Board": { "title": "Board", "description": "Board", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "example": "549755885175" }, "name": { "type": "string", "example": "Summer Recipes" }, "description": { "type": "string", "nullable": true, "example": "My favorite summer recipes" }, "owner": { "allOf": [ { "$ref": "#/components/schemas/BoardOwner" } ], "type": "object", "readOnly": true }, "privacy": { "type": "string", "default": "PUBLIC", "description": "Privacy setting for a board. Learn more about secret boards and protected boards", "enum": [ "PUBLIC", "PROTECTED", "SECRET" ] } }, "required": [ "name" ] }, "BoardOwner": { "title": "Board owner", "type": "object", "properties": { "username": { "type": "string", "readOnly": true } } }, "BoardSection": { "title": "Board section", "description": "Sections help organize pins within a board.", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "example": "549755885175" }, "name": { "type": "string", "example": "Salads", "minLength": 1, "maxLength": 180 } } }, "BoardUpdate": { "title": "BoardUpdate", "description": "Board fields for updates", "type": "object", "properties": { "name": { "type": "string", "example": "Summer Recipes" }, "description": { "type": "string", "nullable": true, "example": "My favorite summer recipes" }, "privacy": { "type": "string", "enum": [ "PUBLIC", "SECRET" ] } } }, "CampaignResponse": { "allOf": [ { "required": [ "id" ], "properties": { "id": { "description": "Campaign ID.", "example": "549755885175", "type": "string", "pattern": "^\\d+$" } }, "type": "object" }, { "$ref": "#/components/schemas/CampaignCommon" }, { "type": "object", "properties": { "objective_type": { "$ref": "#/components/schemas/ObjectiveType" }, "created_time": { "type": "integer", "description": "Campaign creation time. Unix timestamp in seconds.", "example": 1432744744 }, "updated_time": { "type": "integer", "description": "UTC timestamp. Last update time.", "example": 1432744744 }, "type": { "type": "string", "description": "Always \"campaign\".", "example": "campaign" } } } ] }, "CampaignsAnalyticsResponse": { "type": "array", "items": { "type": "object", "properties": { "CAMPAIGN_ID": { "description": "The ID of the campaing that this metrics belongs to.", "type": "string", "pattern": "^\\d+$" }, "DATE": { "description": "Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`)", "type": "string", "format": "date" } }, "required": [ "CAMPAIGN_ID" ], "additionalProperties": true, "example": { "DATE": "2021-04-01", "CAMPAIGN_ID": "547602124502", "SPEND_IN_DOLLAR": 30, "TOTAL_CLICKTHROUGH": 216 } } }, "CatalogsDbItem": { "type": "object", "title": "db_item", "properties": { "created_at": { "type": "string", "format": "date-time", "example": "2022-03-14T15:15:22Z" }, "id": { "type": "string" }, "updated_at": { "type": "string", "format": "date-time", "example": "2022-03-14T15:16:34Z" } } }, "CatalogsFeed": { "type": "object", "title": "feed", "description": "Catalogs Catalogs Feed object", "allOf": [ { "$ref": "#/components/schemas/CatalogsDbItem" }, { "type": "object", "title": "feed_fields", "properties": { "default_country": { "$ref": "#/components/schemas/Country" }, "default_availability": { "$ref": "#/components/schemas/ProductAvailabilityType" }, "default_currency": { "$ref": "#/components/schemas/NullableCurrency" }, "name": { "description": "A human-friendly name associated to a given feed. This value is currently nullable due to historical reasons. It is expected to become non-nullable in the future.", "nullable": true, "type": "string" }, "format": { "$ref": "#/components/schemas/CatalogsFormat" }, "default_locale": { "description": "The locale used within a feed for product descriptions.", "example": "en_US", "type": "string" }, "credentials": { "$ref": "#/components/schemas/CatalogsFeedCredentials" }, "location": { "description": "The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing.", "type": "string" }, "preferred_processing_schedule": { "$ref": "#/components/schemas/CatalogsFeedProcessingSchedule" }, "status": { "$ref": "#/components/schemas/CatalogsStatus" } }, "required": [ "credentials", "default_availability", "default_country", "default_currency", "default_locale", "format", "location", "name", "preferred_processing_schedule", "status" ] } ] }, "CatalogsFeedCredentials": { "type": "object", "nullable": true, "description": "Use this if your feed file requires username and password.", "properties": { "password": { "description": "The required password for downloading a feed.", "type": "string", "format": "password" }, "username": { "description": "The required username for downloading a feed.", "type": "string" } }, "required": [ "username", "password" ] }, "CatalogsFeedIngestionDetails": { "type": "object", "properties": { "errors": { "$ref": "#/components/schemas/CatalogsFeedIngestionErrors" }, "info": { "$ref": "#/components/schemas/CatalogsFeedIngestionInfo" } }, "required": [ "errors", "info" ] }, "CatalogsFeedIngestionErrors": { "type": "object", "properties": { "image_download_error": { "type": "integer" }, "image_download_connection_timeout": { "type": "integer" }, "image_format_unrecognize": { "type": "integer" }, "line_level_internal_error": { "type": "integer" }, "large_product_count_decrease": { "type": "integer", "enum": [ 1 ] } } }, "CatalogsFeedIngestionInfo": { "type": "object", "properties": { "in_stock": { "type": "integer" }, "out_of_stock": { "type": "integer" }, "preorder": { "type": "integer" } } }, "CatalogsFeedProcessingResult": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/CatalogsDbItem" }, { "type": "object", "title": "catalogs_feed_processing_result_fields", "properties": { "ingestion_details": { "$ref": "#/components/schemas/CatalogsFeedIngestionDetails" }, "status": { "$ref": "#/components/schemas/CatalogsFeedProcessingStatus" }, "product_counts": { "$ref": "#/components/schemas/CatalogsFeedProductCounts" }, "validation_details": { "$ref": "#/components/schemas/CatalogsFeedValidationDetails" } }, "required": [ "ingestion_details", "status", "product_counts", "validation_details" ] } ] }, "CatalogsFeedProcessingStatus": { "type": "string", "enum": [ "COMPLETED", "COMPLETED_EARLY", "DISAPPROVED", "FAILED", "PROCESSING", "QUEUED_FOR_PROCESSING", "UNDER_APPEAL", "UNDER_REVIEW" ] }, "CatalogsFeedProcessingSchedule": { "type": "object", "title": "catalogs_processing_schedule", "description": "Optional daily processing schedule. Use this to configure the preferred time for processing a feed (otherwise random).", "nullable": true, "properties": { "time": { "description": "A time in format HH:MM with leading 0 (zero)", "type": "string", "pattern": "^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$", "example": "02:59" }, "timezone": { "description": "The timezone considered for the processing schedule time.", "type": "string", "nullable": true, "enum": [ "Africa/Abidjan", "Africa/Accra", "Africa/Algiers", "Africa/Bissau", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/El_Aaiun", "Africa/Johannesburg", "Africa/Juba", "Africa/Khartoum", "Africa/Lagos", "Africa/Maputo", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Sao_Tome", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Asuncion", "America/Atikokan", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Cayenne", "America/Chicago", "America/Chihuahua", "America/Costa_Rica", "America/Creston", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Fort_Nelson", "America/Fortaleza", "America/Glace_Bay", "America/Goose_Bay", "America/Grand_Turk", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Maceio", "America/Managua", "America/Manaus", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Menominee", "America/Merida", "America/Metlakatla", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Nuuk", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Velho", "America/Puerto_Rico", "America/Punta_Arenas", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Santarem", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Sitka", "America/St_Johns", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Vancouver", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/Syowa", "Antarctica/Troll", "Antarctica/Vostok", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Atyrau", "Asia/Baghdad", "Asia/Baku", "Asia/Bangkok", "Asia/Barnaul", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Chita", "Asia/Choibalsan", "Asia/Colombo", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Famagusta", "Asia/Gaza", "Asia/Hebron", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kathmandu", "Asia/Khandyga", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Nicosia", "Asia/Novokuznetsk", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qostanay", "Asia/Qyzylorda", "Asia/Riyadh", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Srednekolymsk", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Thimphu", "Asia/Tokyo", "Asia/Tomsk", "Asia/Ulaanbaatar", "Asia/Urumqi", "Asia/Ust-Nera", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yangon", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faroe", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/Stanley", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/Perth", "Australia/Sydney", "CET", "CST6CDT", "EET", "EST", "EST5EDT", "Etc/GMT", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/UTC", "Europe/Amsterdam", "Europe/Andorra", "Europe/Astrakhan", "Europe/Athens", "Europe/Belgrade", "Europe/Berlin", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Helsinki", "Europe/Istanbul", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Kirov", "Europe/Lisbon", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Oslo", "Europe/Paris", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/Saratov", "Europe/Simferopol", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Ulyanovsk", "Europe/Uzhgorod", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zaporozhye", "Europe/Zurich", "HST", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Reunion", "MET", "MST", "MST7MDT", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Bougainville", "Pacific/Chatham", "Pacific/Chuuk", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Pohnpei", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Wake", "Pacific/Wallis", "WET", null ] } }, "required": [ "time", "timezone" ] }, "CatalogsFeedProductCounts": { "type": "object", "description": "The counts can be null early in the process.", "nullable": true, "properties": { "original": { "description": "The number of products in the feed file", "type": "integer" } } }, "CatalogsFeedValidationDetails": { "type": "object", "properties": { "errors": { "$ref": "#/components/schemas/CatalogsFeedValidationErrors" }, "warnings": { "$ref": "#/components/schemas/CatalogsFeedValidationWarnings" } }, "required": [ "errors", "warnings" ] }, "CatalogsFeedValidationErrors": { "type": "object", "properties": { "fetch_error": { "type": "integer" }, "fetch_inactive_feed_error": { "type": "integer" }, "encoding_error": { "type": "integer" }, "delimiter_error": { "type": "integer" }, "required_columns_missing": { "type": "integer" }, "image_link_invalid": { "type": "integer" }, "itemid_missing": { "type": "integer" }, "title_missing": { "type": "integer" }, "description_missing": { "type": "integer" }, "product_category_invalid": { "type": "integer" }, "product_link_missing": { "type": "integer" }, "image_link_missing": { "type": "integer" }, "availability_invalid": { "type": "integer" }, "product_price_invalid": { "type": "integer" }, "link_format_invalid": { "type": "integer" }, "parse_line_error": { "type": "integer" }, "adwords_format_invalid": { "type": "integer" }, "product_category_missing": { "type": "integer" }, "internal_service_error": { "type": "integer" }, "no_verified_domain": { "type": "integer" }, "adult_invalid": { "type": "integer" }, "invalid_domain": { "type": "integer" }, "feed_length_too_long": { "type": "integer" }, "link_length_too_long": { "type": "integer" }, "malformed_xml": { "type": "integer" }, "redirect_invalid": { "type": "integer" }, "price_missing": { "type": "integer" }, "feed_too_small": { "type": "integer" }, "condition_invalid": { "type": "integer" }, "shopify_no_products": { "type": "integer" }, "max_items_per_item_group_exceeded": { "type": "integer" }, "item_main_image_download_failure": { "type": "integer" }, "pinjoin_content_unsafe": { "type": "integer" }, "blocklisted_image_signature": { "type": "integer" } } }, "CatalogsFeedValidationWarnings": { "type": "object", "properties": { "title_length_too_long": { "type": "integer" }, "description_length_too_long": { "type": "integer" }, "gender_invalid": { "type": "integer" }, "age_group_invalid": { "type": "integer" }, "size_type_invalid": { "type": "integer" }, "link_format_warning": { "type": "integer" }, "duplicate_products": { "type": "integer" }, "duplicate_links": { "type": "integer" }, "sales_price_invalid": { "type": "integer" }, "product_category_depth_warning": { "type": "integer" }, "adwords_same_as_link": { "type": "integer" }, "duplicate_headers": { "type": "integer" }, "fetch_same_signature": { "type": "integer" }, "adwords_format_warning": { "type": "integer" }, "additional_image_link_warning": { "type": "integer" }, "image_link_warning": { "type": "integer" }, "shipping_invalid": { "type": "integer" }, "tax_invalid": { "type": "integer" }, "shipping_weight_invalid": { "type": "integer" }, "expiration_date_invalid": { "type": "integer" }, "availability_date_invalid": { "type": "integer" }, "sale_date_invalid": { "type": "integer" }, "weight_unit_invalid": { "type": "integer" }, "is_bundle_invalid": { "type": "integer" }, "updated_time_invalid": { "type": "integer" }, "custom_label_length_too_long": { "type": "integer" }, "product_type_length_too_long": { "type": "integer" }, "too_many_additional_image_links": { "type": "integer" }, "multipack_invalid": { "type": "integer" }, "indexed_product_count_large_delta": { "type": "integer" }, "item_additional_image_download_failure": { "type": "integer" }, "optional_product_category_missing": { "type": "integer" }, "optional_product_category_invalid": { "type": "integer" }, "optional_condition_missing": { "type": "integer" }, "optional_condition_invalid": { "type": "integer" }, "ios_deep_link_invalid": { "type": "integer" }, "android_deep_link_invalid": { "type": "integer" }, "availability_normalized": { "type": "integer" }, "condition_normalized": { "type": "integer" }, "gender_normalized": { "type": "integer" }, "size_type_normalized": { "type": "integer" }, "age_group_normalized": { "type": "integer" }, "utm_source_auto_corrected": { "type": "integer" }, "country_does_not_map_to_currency": { "type": "integer" }, "min_ad_price_invalid": { "type": "integer" } } }, "CatalogsFeedsCreateRequest": { "type": "object", "title": "feeds_create_request", "description": "Request object for creating a feed. Please, be aware that \"default_country\" and \"default_locale\" are not required in the spec for forward compatibility but for now the API will not accept requests without those fields.", "properties": { "default_country": { "$ref": "#/components/schemas/Country" }, "default_availability": { "$ref": "#/components/schemas/ProductAvailabilityType" }, "default_currency": { "$ref": "#/components/schemas/NullableCurrency" }, "name": { "description": "A human-friendly name associated to a given feed.", "type": "string" }, "format": { "$ref": "#/components/schemas/CatalogsFormat" }, "default_locale": { "description": "The locale used within a feed for product descriptions.", "example": "en_US", "type": "string" }, "credentials": { "$ref": "#/components/schemas/CatalogsFeedCredentials" }, "location": { "description": "The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing.", "type": "string" }, "preferred_processing_schedule": { "$ref": "#/components/schemas/CatalogsFeedProcessingSchedule" } }, "required": [ "format", "location", "name" ] }, "CatalogsFeedsUpdateRequest": { "type": "object", "title": "catalogs_feeds_update_request", "description": "Request object for updating a feed.", "properties": { "default_availability": { "$ref": "#/components/schemas/ProductAvailabilityType" }, "default_currency": { "$ref": "#/components/schemas/NullableCurrency" }, "name": { "description": "A human-friendly name associated to a given feed.", "type": "string" }, "format": { "$ref": "#/components/schemas/CatalogsFormat" }, "credentials": { "$ref": "#/components/schemas/CatalogsFeedCredentials" }, "location": { "type": "string", "description": "The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing." }, "preferred_processing_schedule": { "$ref": "#/components/schemas/CatalogsFeedProcessingSchedule" }, "status": { "$ref": "#/components/schemas/CatalogsStatus" } } }, "CatalogsFormat": { "description": "The file format of a feed.", "type": "string", "enum": [ "TSV", "CSV", "XML" ] }, "CatalogsItemsBatch": { "type": "object", "description": "Object describing the catalogs items batch", "properties": { "items": { "description": "Array with the catalogs items processing records part of the catalogs items batch", "items": { "$ref": "#/components/schemas/ItemProcessingRecord" }, "type": "array" }, "batch_id": { "description": "Id of the catalogs items batch", "example": "595953100599279259-66753b9bb65c46c49bd8503b27fecf9e", "type": "string" }, "created_time": { "description": "Time of the batch creation: YYYY-MM-DD'T'hh:mm:ssTZD", "example": "2020-01-01T20:10:40-00:00", "type": "string", "format": "date-time", "readOnly": true }, "completed_time": { "description": "Time of the batch completion: YYYY-MM-DD'T'hh:mm:ssTZD", "example": "2022-03-10T15:37:10-00:00", "type": "string", "format": "date-time", "readOnly": true, "nullable": true }, "status": { "$ref": "#/components/schemas/BatchOperationStatus" } } }, "CatalogsItemsBatchRequest": { "type": "object", "description": "Request object of catalogs items batch", "properties": { "country": { "$ref": "#/components/schemas/Country" }, "language": { "$ref": "#/components/schemas/Language" }, "operation": { "$ref": "#/components/schemas/BatchOperation" }, "items": { "type": "array", "description": "Array with catalogs items", "items": { "$ref": "#/components/schemas/ItemBatchRecord" } } } }, "CatalogsStatus": { "type": "string", "description": "Status for catalogs entities. Present in catalogs_feed values. When a feed is deleted, the response will inform DELETED as status.", "enum": [ "ACTIVE", "INACTIVE" ] }, "ConversionAttributionWindowDays": { "type": "integer", "enum": [ 1, 7, 30, 60 ] }, "ConversionReportAttributionType": { "type": "string", "description": "Attribution type. Refers to the Pinterest Tag endpoints", "example": "INDIVIDUAL", "enum": [ "INDIVIDUAL", "HOUSEHOLD" ] }, "ConversionReportTimeType": { "type": "string", "description": "Conversion report time type", "example": "TIME_OF_AD_ACTION", "enum": [ "TIME_OF_AD_ACTION", "TIME_OF_CONVERSION" ] }, "Country": { "type": "string", "description": "Country ID from ISO 3166-1 alpha-2.", "example": "US", "enum": [ "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ] }, "Currency": { "type": "string", "description": "Currency Codes from ISO 4217", "example": "USD", "enum": [ "UNK", "USD", "GBP", "CAD", "EUR", "AUD", "NZD", "SEK", "ILS", "CHF", "HKD", "JPY", "SGD", "KRW", "NOK", "DKK", "PLN", "RON", "HUF", "CZK", "BRL", "MXN", "ARS", "CLP", "COP" ] }, "DataOutputFormat": { "type": "string", "description": "Format of generated report", "example": "JSON", "enum": [ "JSON", "CSV" ] }, "EntityStatus": { "type": "string", "description": "Entity status", "example": "ACTIVE", "enum": [ "ACTIVE", "PAUSED", "ARCHIVED" ] }, "Granularity": { "type": "string", "enum": [ "TOTAL", "DAY", "HOUR", "WEEK", "MONTH" ] }, "ItemAttributes": { "type": "object", "properties": { "ad_link": { "description": "Allows advertisers to specify a separate URL that can be used to track traffic coming from Pinterest shopping ads. Must send full URL including tracking—do not send tracking parameters only. At this time we do not support impression tracking. Must begin with http:// or https://.", "example": "https://www.example.com/cat/denim-shirt/item012?utm_source=Pinterest", "type": "string" }, "additional_image_link": { "description": "The links to additional images for your product. Up to five additional images can be used to show a product from different angles or to show different stages. Separate each additional image with a comma. We recommend enclosing the whole string with quotes. Must begin with http:// or https://", "example": [ "https://scene.example.com/image/image_v2.jpg", "https://scene.example.com/image/image_v3.jpg" ], "type": "array", "items": { "type": "string", "maxLength": 2000 } }, "adult": { "description": "Set this attribute to TRUE if you're submitting items that are considered “adult”. These will not be shown on Pinterest.", "example": true, "type": "boolean" }, "age_group": { "description": "The age group to apply a demographic range to the product. Must be one of the following values: ‘newborn’, ‘infant’, ‘toddler’, ‘kids’, ‘adult’.", "example": "newborn", "type": "string" }, "availability": { "description": "The availability of the product. Must be one of the following values: ‘in stock’, ‘out of stock’, ‘preorder’.", "example": "in stock", "type": "string" }, "average_review_rating": { "description": "Average reviews for the item. Can be a number from 1-5.", "example": 5, "type": "number" }, "brand": { "description": "The brand of the product.", "example": "Josie’s Denim", "type": "string" }, "color": { "description": "The primary color of the product.", "example": "blue", "type": "string" }, "condition": { "description": "The condition of the product. Must be one of the following values: ‘new’, ‘used’, ‘refurbished’.", "example": "new", "type": "string" }, "custom_label_0": { "description": "Custom grouping of products.", "example": "Best sellers", "type": "string", "maxLength": 1000 }, "custom_label_1": { "description": "Custom grouping of products.", "example": "Summer promotion", "type": "string", "maxLength": 1000 }, "custom_label_2": { "description": "Custom grouping of products.", "example": "Winter sales", "type": "string", "maxLength": 1000 }, "custom_label_3": { "description": "Custom grouping of products.", "example": "Woman dress", "type": "string", "maxLength": 1000 }, "custom_label_4": { "description": "Custom grouping of products.", "example": "Man hat", "type": "string", "maxLength": 1000 }, "description": { "description": "The description of the product.", "example": "Casual fit denim shirt made with the finest quality Japanese denim.", "type": "string", "maxLength": 10000 }, "free_shipping_label": { "description": "The item is free to ship.", "example": true, "type": "boolean" }, "free_shipping_limit": { "description": "The minimum order purchase necessary for the customer to get free shipping. Only relevant if free shipping is offered.", "example": "35 USD", "type": "string" }, "gender": { "description": "The gender associated with the product. Must be one of the following values: ‘male’, ‘female’, ‘unisex’.", "example": "unisex", "type": "string" }, "google_product_category": { "description": "The categorization of the product based on the standardized Google Product Taxonomy. This is a set taxonomy. Both the text values and numeric codes are accepted.", "example": "Apparel & Accessories > Clothing > Shirts & Tops", "type": "string" }, "gtin": { "description": "The unique universal product identifier.", "example": 3234567890126, "type": "integer" }, "id": { "description": "The user-created unique ID that represents the product. Only Unicode characters are accepted.", "example": "DS0294-L", "type": "string", "maxLength": 127 }, "image_link": { "description": "The link to the main product images. Images should be at least 75x75 pixels to avoid errors. Use the additional_image_link field to add more images of your product. The URL of your image_link must be accessible by the Pinterest user-agent, and send the accurate images. Please make sure there are no template or placeholder images at the link. Must start with http:// or https://", "example": [ "https://scene.example.com/image/image.jpg" ], "type": "array", "minItems": 1, "items": { "type": "string", "maxLength": 2000 } }, "item_group_id": { "description": "The parent ID of the product.", "example": "DS0294", "type": "string", "maxLength": 127 }, "last_updated_time": { "description": "The millisecond timestamp when the item was lastly modified by the merchant.", "example": 1641483432072, "type": "integer", "format": "int64" }, "link": { "description": "The landing page for the product.", "example": "https://www.example.com/cat/womens-clothing/denim-shirt-0294", "type": "string", "maxLength": 511 }, "material": { "description": "The material used to make the product.", "example": "cotton", "type": "string" }, "min_ad_price": { "description": "The minimum advertised price of the product. It supports the following formats, \"19.99 USD\", \"19.99USD\" and \"19.99\". If the currency is not included, we default to US dollars.", "example": "19.99 USD", "type": "string" }, "mobile_link": { "description": "The mobile-optimized version of your landing page. Must begin with http:// or https://.", "example": "https://m.example.com/cat/womens-clothing/denim-shirt-0294", "type": "string" }, "mpn": { "description": "Manufacturer Part Number are alpha-numeric codes created by the manufacturer of a product to uniquely identify it among all products from the same manufacturer.", "example": "PI12345NTEREST", "type": "string" }, "number_of_ratings": { "description": "The number of ratings for the item.", "example": 10, "type": "integer" }, "number_of_reviews": { "description": "The number of reviews available for the item.", "example": 10, "type": "integer" }, "pattern": { "description": "The description of the pattern used for the product.", "example": "plaid", "type": "string" }, "price": { "description": "The price of the product. It supports the following formats, \"24.99 USD\", \"24.99USD\" and \"24.99\". If the currency is not included, we default to US dollars.", "example": "24.99 USD", "type": "string" }, "product_type": { "description": "The categorization of your product based on your custom product taxonomy. Subcategories must be sent separated by “ > “. The > must be wrapped by spaces. We do not recognize any other delimiters such as comma or pipe.", "example": "Clothing > Women’s > Shirts > Denim", "type": "string", "maxLength": 1000 }, "sale_price": { "description": "The discounted price of the product. The sale_price must be lower than the price. It supports the following formats, \"14.99 USD\", \"14.99USD\" and \"14.99\". If the currency is not included, we default to US dollars.", "example": "14.99 USD", "type": "string" }, "shipping": { "description": "Shipping consists of one group of up to four elements, country, region, service (all optional) and price (required). All colons, even for blank values, are required.", "example": "US:CA:Ground:0 USD", "type": "string" }, "shipping_height": { "description": "The height of the package needed to ship the product. Ensure there is a space between the numeric string and the metric.", "example": "12 in", "type": "string" }, "shipping_weight": { "description": "The weight of the product. Ensure there is a space between the numeric string and the metric.", "example": "3 kg", "type": "string" }, "shipping_width": { "description": "The width of the package needed to ship the product. Ensure there is a space between the numeric string and the metric.", "example": "16 in", "type": "string" }, "size": { "description": "The size of the product.", "example": "M", "type": "string" }, "size_system": { "description": "Indicates the country’s sizing system in which you are submitting your product.", "example": "US", "type": "string" }, "size_type": { "description": "Additional description for the size. Must be one of the following values: ‘regular’, ‘petite’, ‘plus’, ‘big_and_tall’, ‘maternity’.", "example": "regular", "type": "string" }, "tax": { "description": "Tax consists of one group of up to four elements, country, region, rate (all required) and tax_ship (optional). All colons, even for blank values, are required.", "example": "US:1025433:6.00:y", "type": "string" }, "title": { "description": "The name of the product.", "example": "Women’s denim shirt, large", "type": "string", "maxLength": 500 } } }, "ItemBatchRecord": { "type": "object", "description": "Object describing an item batch record", "properties": { "item_id": { "description": "The catalog item id in the merchant namespace", "example": "DS0294-M", "type": "string" }, "attributes": { "$ref": "#/components/schemas/ItemAttributes" } } }, "ItemProcessingRecord": { "type": "object", "description": "Object describing an item processing record", "properties": { "item_id": { "description": "The catalog item id in the merchant namespace", "example": "DS0294-M", "type": "string" }, "errors": { "description": "Array with the validation errors for the item processing record.\nA non empty errors list causes the item processing to fail.", "items": { "$ref": "#/components/schemas/ItemValidationEvent" }, "type": "array" }, "warnings": { "description": "Array with the validation warnings for the item processing record", "items": { "$ref": "#/components/schemas/ItemValidationEvent" }, "type": "array" }, "status": { "$ref": "#/components/schemas/ItemProcessingStatus" } } }, "ItemProcessingStatus": { "description": "The status of the item processing record", "example": "SUCCESS", "type": "string", "enum": [ "SUCCESS", "FAILURE", "PROCESSING" ] }, "ItemValidationEvent": { "type": "object", "description": "Object describing an item validation event", "properties": { "attribute": { "description": "The attribute that the item validation event references", "example": "title", "type": "string" }, "code": { "description": "The event code that the item validation event references", "example": 106, "type": "integer" }, "message": { "description": "Title message describing the item validation event", "example": "Title is missing from product metadata.", "type": "string" } } }, "Language": { "type": "string", "description": "Language code, which is among the offical ISO 639-1 language list.", "example": "EN", "enum": [ "AM", "AR", "AZ", "BG", "BN", "BS", "CA", "CS", "DA", "DV", "DZ", "DE", "EL", "EN", "ES", "ET", "FA", "FI", "FR", "HE", "HI", "HR", "HU", "HY", "ID", "IN", "IS", "IT", "IW", "JA", "KA", "KM", "KO", "LO", "LT", "LV", "MK", "MN", "MS", "MY", "NB", "NE", "NL", "NO", "PL", "PT", "RO", "RU", "SK", "SL", "SQ", "SR", "SV", "TL", "UK", "VI", "TE", "TH", "TR", "XX", "ZH" ] }, "MediaUpload": { "title": "Media upload", "description": "Media upload that has been registered but not uploaded/processed yet.", "allOf": [ { "type": "object", "readOnly": true, "properties": { "media_id": { "type": "string", "description": "Unique identifier for this media upload. Used to track status and for attaching during Pin creation." }, "media_type": { "allOf": [ { "$ref": "#/components/schemas/MediaUploadType" } ], "type": "string", "example": "video" }, "upload_url": { "type": "string", "description": "The URL where you will POST your media file.", "example": "https://pinterest-media-upload.s3-accelerate.amazonaws.com/" }, "upload_parameters": { "type": "object", "description": "The list of parameter key/value pairs you will need to send with your POST request to upload your media file.", "properties": { "x-amz-date": { "type": "string" }, "x-amz-signature": { "type": "string" }, "x-amz-security-token": { "type": "string" }, "x-amz-algorithm": { "type": "string" }, "key": { "type": "string" }, "policy": { "type": "string" }, "x-amz-credential": { "type": "string" }, "Content-Type": { "type": "string", "example": "multipart/form-data" } } } } } ], "example": { "media_id": "12345", "media_type": "video", "upload_url": "https://pinterest-media-upload.s3-accelerate.amazonaws.com/", "upload_parameters": { "x-amz-data": "20220127T185143Z", "x-amz-signature": "fcd6309a6aaee213348666a72abed8b44552a43acb6b340e8e1b288d21a5fe92", "key": "uploads/11/aa/22/3:video:203014033110991560:5212123920968240771", "policy": "eyJleHBpcmF0aW9uIjoiMj..==", "x-amz-credential": "ASIA6QZJ64OPIKV7FRVX/20220127/us-east-1/s3/aws4_request", "x-amz-security-token": "IQoJb3JpZ2luX2VjEJr...==", "x-amz-algorithm": "AWS4-HMAC-SHA256", "Content-Type": "multipart/form-data" } } }, "MediaUploadDetails": { "title": "Media upload details", "description": "Media upload details", "type": "object", "properties": { "media_id": { "type": "string", "pattern": "^\\d+$", "readOnly": true }, "media_type": { "allOf": [ { "$ref": "#/components/schemas/MediaUploadType" } ], "type": "string", "readOnly": true }, "status": { "allOf": [ { "$ref": "#/components/schemas/MediaUploadStatus" } ], "type": "string", "readOnly": true } }, "example": { "media_id": "12345", "media_type": "video", "status": "succeeded" } }, "MediaUploadRequest": { "title": "Media upload request", "description": "Media upload request", "type": "object", "properties": { "media_type": { "allOf": [ { "$ref": "#/components/schemas/MediaUploadType" } ], "type": "string", "writeOnly": true } }, "required": [ "media_type" ], "example": { "media_type": "video" } }, "MediaUploadStatus": { "description": "Media upload status", "type": "string", "enum": [ "registered", "processing", "succeeded", "failed" ] }, "MediaUploadType": { "type": "string", "enum": [ "video" ] }, "MetricsReportingLevel": { "type": "string", "description": "Level of the reporting request", "example": "CAMPAIGN", "enum": [ "ADVERTISER", "ADVERTISER_TARGETING", "CAMPAIGN", "CAMPAIGN_TARGETING", "AD_GROUP", "AD_GROUP_TARGETING", "PIN_PROMOTION", "PIN_PROMOTION_TARGETING", "KEYWORD", "PRODUCT_GROUP", "PRODUCT_GROUP_TARGETING", "PRODUCT_ITEM" ] }, "NullableCurrency": { "type": "string", "description": "Currency Codes from ISO 4217.", "example": "USD", "nullable": true, "enum": [ "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SPL", "SRD", "STD", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWD", null ] }, "OauthAccessTokenRequest": { "title": "OAuth access token request", "description": "Describes the valid schema for possible OAuth access token requests.", "type": "object", "discriminator": { "propertyName": "grant_type", "mapping": { "authorization_code": "#/components/schemas/OauthAccessTokenRequestCode", "refresh_token": "#/components/schemas/OauthAccessTokenRequestRefresh" } }, "properties": { "grant_type": { "type": "string", "enum": [ "authorization_code", "refresh_token" ] } }, "required": [ "grant_type" ] }, "OauthAccessTokenRequestRefresh": { "title": "refresh_token", "description": "A request to exchange a refresh token for a new access token.", "type": "object", "allOf": [ { "$ref": "#/components/schemas/OauthAccessTokenRequest" }, { "type": "object", "properties": { "refresh_token": { "type": "string" }, "scope": { "type": "string" } }, "required": [ "refresh_token" ] } ] }, "OauthAccessTokenRequestCode": { "title": "authorization_code", "description": "A request to exchange an authorization code for an access token.", "allOf": [ { "$ref": "#/components/schemas/OauthAccessTokenRequest" }, { "type": "object", "properties": { "code": { "type": "string" }, "redirect_uri": { "type": "string" } }, "required": [ "code", "redirect_uri" ] } ] }, "OauthAccessTokenResponse": { "title": "OAuth access token response", "description": "A successful OAuth access token response.", "type": "object", "properties": { "response_type": { "type": "string", "enum": [ "authorization_code", "refresh_token" ] }, "access_token": { "type": "string" }, "token_type": { "type": "string", "default": "bearer" }, "expires_in": { "type": "integer" }, "scope": { "type": "string" } }, "discriminator": { "propertyName": "response_type", "mapping": { "authorization_code": "#/components/schemas/OauthAccessTokenResponseCode", "refresh_token": "#/components/schemas/OauthAccessTokenResponseRefresh" } }, "required": [ "access_token", "token_type", "expires_in", "scope" ] }, "OauthAccessTokenResponseCode": { "title": "OAuth access token response", "description": "A successful OAuth access token response for the authorization code flow.", "type": "object", "allOf": [ { "$ref": "#/components/schemas/OauthAccessTokenResponse" }, { "type": "object", "properties": { "refresh_token": { "type": "string" }, "refresh_token_expires_in": { "type": "integer" } }, "required": [ "refresh_token", "refresh_token_expires_in" ] } ] }, "OauthAccessTokenResponseRefresh": { "title": "OAuth access token response", "description": "A successful OAuth access token response for the refresh token flow.", "type": "object", "allOf": [ { "$ref": "#/components/schemas/OauthAccessTokenResponse" } ] }, "OptimizationGoalMetadata": { "type": "object" }, "PacingDeliveryType": { "type": "string", "description": "Ad group pacing delivery type", "example": "STANDARD", "enum": [ "STANDARD", "ACCELERATED" ] }, "PlacementGroupType": { "type": "string", "description": "Campaign placement group type", "example": "ALL", "enum": [ "ALL", "SEARCH", "BROWSE", "OTHER" ] }, "Pin": { "title": "Pin", "description": "Pin", "type": "object", "properties": { "id": { "type": "string", "readOnly": true, "example": "813744226420795884" }, "created_at": { "type": "string", "format": "date-time", "readOnly": true, "example": "2020-01-01T20:10:40-00:00" }, "link": { "type": "string", "nullable": true, "example": "https://www.pinterest.com/" }, "title": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "alt_text": { "type": "string", "nullable": true }, "board_id": { "description": "The board to which this Pin belongs.", "type": "string", "pattern": "^\\d+$" }, "board_section_id": { "description": "The board section to which this Pin belongs.", "type": "string", "pattern": "^\\d+$", "nullable": true }, "board_owner": { "allOf": [ { "$ref": "#/components/schemas/BoardOwner" } ], "type": "object", "readOnly": true }, "media": { "allOf": [ { "$ref": "#/components/schemas/PinMedia" } ], "type": "object", "readOnly": true }, "media_source": { "allOf": [ { "$ref": "#/components/schemas/PinMediaSource" } ], "type": "object", "writeOnly": true } } }, "PinMedia": { "title": "Pin media", "description": "Pin media objects.", "discriminator": { "propertyName": "media_type", "mapping": { "image": "#/components/schemas/PinMediaWithImage" } }, "properties": { "media_type": { "type": "string" } } }, "PinMediaWithImage": { "title": "image", "description": "Pin with image.", "allOf": [ { "type": "object", "properties": { "images": { "type": "object", "additionalProperties": { "title": "ImageDetails", "type": "object", "properties": { "width": { "type": "integer", "minimum": 100 }, "height": { "type": "integer", "minimum": 100, "nullable": true }, "url": { "type": "string" } }, "required": [ "height", "width", "url" ], "example": { "width": 400, "height": 300, "url": "https://i.pinimg.com/400x300/0d/f6/f1/0df6f1f0bfe7aaca849c1bbc3607a34b.jpg" } } } } }, { "$ref": "#/components/schemas/PinMedia" } ], "example": { "media_type": "image", "images": { "400x300": { "width": 400, "height": 300, "url": "https://i.pinimg.com/400x300/0d/f6/f1/0df6f1f0bfe7aaca849c1bbc3607a34b.jpg" }, "600x": { "width": 600, "height": 600, "url": "https://i.pinimg.com/600x/0d/f6/f1/0df6f1f0bfe7aaca849c1bbc3607a34b.jpg" }, "orig": { "width": 560, "height": 560, "url": "https://i.pinimg.com/originals/0d/f6/f1/0df6f1f0bfe7aaca849c1bbc3607a34b.jpg" } } } }, "PinMediaSource": { "title": "Pin media source", "description": "Pin media source.", "discriminator": { "propertyName": "source_type", "mapping": { "image_base64": "#/components/schemas/PinMediaSourceImageBase64", "image_url": "#/components/schemas/PinMediaSourceImageURL", "video_id": "#/components/schemas/PinMediaSourceVideoID" } }, "properties": { "source_type": { "type": "string" } }, "required": [ "source_type" ] }, "PinMediaSourceImageBase64": { "title": "Image Base64", "description": "Base64-encoded image media source", "allOf": [ { "$ref": "#/components/schemas/PinMediaSource" }, { "type": "object", "properties": { "content_type": { "type": "string", "enum": [ "image/jpeg", "image/png" ] }, "data": { "type": "string", "pattern": "[a-zA-Z0-9+\\/=]+" } }, "required": [ "content_type", "data" ] } ] }, "PinMediaSourceImageURL": { "title": "Image URL", "description": "Image URL-based media source", "allOf": [ { "$ref": "#/components/schemas/PinMediaSource" }, { "type": "object", "properties": { "url": { "type": "string" } }, "required": [ "url" ] } ] }, "PinMediaSourceVideoID": { "title": "Video ID", "description": "Video ID-based media source", "allOf": [ { "$ref": "#/components/schemas/PinMediaSource" }, { "type": "object", "properties": { "cover_image_url": { "type": "string" }, "media_id": { "type": "string", "pattern": "^\\d+$" } }, "required": [ "cover_image_url", "media_id" ] } ] }, "PinPromotionSummaryStatus": { "type": "string", "description": "Summary status for pin promotions", "example": "APPROVED", "enum": [ "APPROVED", "PAUSED", "PENDING", "REJECTED", "ADVERTISER_DISABLED", "ARCHIVED" ] }, "ProductAvailabilityType": { "nullable": true, "description": "Default availability for products in a feed.", "type": "string", "enum": [ "IN_STOCK", "OUT_OF_STOCK", "PREORDER", null ] }, "ProductGroupAnalyticsResponse": { "type": "array", "items": { "type": "object", "properties": { "PRODUCT_GROUP_ID": { "description": "The ID of the product group that this metrics belongs to.", "type": "string", "pattern": "^\\d+$" }, "DATE": { "description": "Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`)", "type": "string", "format": "date" } }, "required": [ "PRODUCT_GROUP_ID" ], "additionalProperties": true, "example": { "DATE": "2021-04-01", "PRODUCT_GROUP_ID": "74629351736530", "SPEND_IN_DOLLAR": 30, "TOTAL_CLICKTHROUGH": 216 } } }, "ProductGroupSummaryStatus": { "type": "string", "description": "Summary status for product group", "example": "RUNNING", "enum": [ "RUNNING", "PAUSED", "EXCLUDED", "ARCHIVED" ] }, "ReportingColumnAsync": { "type": "string", "description": "Reporting columns", "example": "SPEND_IN_MICRO_DOLLAR", "enum": [ "SPEND_IN_MICRO_DOLLAR", "PAID_IMPRESSION", "CPC_IN_MICRO_DOLLAR", "ECPC_IN_MICRO_DOLLAR", "CTR", "ECTR", "CAMPAIGN_NAME", "CAMPAIGN_STATUS", "AD_STATUS", "PIN_PROMOTION_STATUS", "PIN_ID", "TOTAL_ENGAGEMENT", "ENGAGEMENT_1", "ENGAGEMENT_2", "ECPM_IN_MICRO_DOLLAR", "CTR_2", "CAMPAIGN_ID", "ADVERTISER_ID", "AD_ACCOUNT_ID", "PIN_PROMOTION_ID", "AD_ID", "AD_GROUP_ID", "CAMPAIGN_MANAGED_STATUS", "CPM_IN_MICRO_DOLLAR", "AD_GROUP_NAME", "AD_GROUP_STATUS", "PRODUCT_GROUP_ID", "CLICKTHROUGH_1", "REPIN_1", "IMPRESSION_1", "IMPRESSION_1_GROSS", "CLICKTHROUGH_1_GROSS", "OUTBOUND_CLICK_1", "CLICKTHROUGH_2", "REPIN_2", "IMPRESSION_2", "OUTBOUND_CLICK_2", "TOTAL_IMPRESSION_USER", "TOTAL_IMPRESSION_FREQUENCY", "TOTAL_ENGAGEMENT_PAGE_VISIT", "TOTAL_ENGAGEMENT_SIGNUP", "TOTAL_ENGAGEMENT_CHECKOUT", "TOTAL_ENGAGEMENT_CUSTOM", "TOTAL_ENGAGEMENT_ADD_TO_CART", "TOTAL_ENGAGEMENT_LEAD", "TOTAL_ENGAGEMENT_SEARCH", "TOTAL_ENGAGEMENT_WATCH_VIDEO", "TOTAL_ENGAGEMENT_VIEW_CATEGORY", "TOTAL_ENGAGEMENT_APP_INSTALL", "TOTAL_ENGAGEMENT_UNKNOWN", "TOTAL_CLICK_PAGE_VISIT", "TOTAL_CLICK_SIGNUP", "TOTAL_CLICK_CHECKOUT", "TOTAL_CLICK_CUSTOM", "TOTAL_CLICK_ADD_TO_CART", "TOTAL_CLICK_LEAD", "TOTAL_CLICK_SEARCH", "TOTAL_CLICK_WATCH_VIDEO", "TOTAL_CLICK_VIEW_CATEGORY", "TOTAL_CLICK_APP_INSTALL", "TOTAL_CLICK_UNKNOWN", "TOTAL_VIEW_PAGE_VISIT", "TOTAL_VIEW_SIGNUP", "TOTAL_VIEW_CHECKOUT", "TOTAL_VIEW_CUSTOM", "TOTAL_VIEW_ADD_TO_CART", "TOTAL_VIEW_LEAD", "TOTAL_VIEW_SEARCH", "TOTAL_VIEW_WATCH_VIDEO", "TOTAL_VIEW_VIEW_CATEGORY", "TOTAL_VIEW_APP_INSTALL", "TOTAL_VIEW_UNKNOWN", "TOTAL_CONVERSIONS", "TOTAL_ENGAGEMENT_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_CONVERSIONS_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_PAGE_VISIT_QUANTITY", "TOTAL_ENGAGEMENT_SIGNUP_QUANTITY", "TOTAL_ENGAGEMENT_CHECKOUT_QUANTITY", "TOTAL_ENGAGEMENT_CUSTOM_QUANTITY", "TOTAL_ENGAGEMENT_ADD_TO_CART_QUANTITY", "TOTAL_ENGAGEMENT_LEAD_QUANTITY", "TOTAL_ENGAGEMENT_SEARCH_QUANTITY", "TOTAL_ENGAGEMENT_WATCH_VIDEO_QUANTITY", "TOTAL_ENGAGEMENT_VIEW_CATEGORY_QUANTITY", "TOTAL_ENGAGEMENT_UNKNOWN_QUANTITY", "TOTAL_CLICK_PAGE_VISIT_QUANTITY", "TOTAL_CLICK_SIGNUP_QUANTITY", "TOTAL_CLICK_CHECKOUT_QUANTITY", "TOTAL_CLICK_CUSTOM_QUANTITY", "TOTAL_CLICK_ADD_TO_CART_QUANTITY", "TOTAL_CLICK_LEAD_QUANTITY", "TOTAL_CLICK_SEARCH_QUANTITY", "TOTAL_CLICK_WATCH_VIDEO_QUANTITY", "TOTAL_CLICK_VIEW_CATEGORY_QUANTITY", "TOTAL_CLICK_UNKNOWN_QUANTITY", "TOTAL_VIEW_PAGE_VISIT_QUANTITY", "TOTAL_VIEW_SIGNUP_QUANTITY", "TOTAL_VIEW_CHECKOUT_QUANTITY", "TOTAL_VIEW_CUSTOM_QUANTITY", "TOTAL_VIEW_ADD_TO_CART_QUANTITY", "TOTAL_VIEW_LEAD_QUANTITY", "TOTAL_VIEW_SEARCH_QUANTITY", "TOTAL_VIEW_WATCH_VIDEO_QUANTITY", "TOTAL_VIEW_VIEW_CATEGORY_QUANTITY", "TOTAL_VIEW_UNKNOWN_QUANTITY", "TOTAL_CONVERSIONS_QUANTITY", "ONSITE_CHECKOUTS_1", "PIN_PROMOTION_NAME", "AD_NAME", "CAMPAIGN_LIFETIME_SPEND_CAP", "CAMPAIGN_DAILY_SPEND_CAP", "TOTAL_PAGE_VISIT_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_PAGE_VISIT_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_PAGE_VISIT_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_PAGE_VISIT_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_PAGE_VISIT_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_PAGE_VISIT_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_PAGE_VISIT_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_PAGE_VISIT_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_PAGE_VISIT_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_SIGNUP_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_SIGNUP_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_SIGNUP_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_SIGNUP_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_SIGNUP_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_SIGNUP_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_SIGNUP_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_SIGNUP_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_SIGNUP_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_CHECKOUT_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_CHECKOUT_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_CHECKOUT_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_CHECKOUT_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_CHECKOUT_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_CHECKOUT_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_CHECKOUT_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_CHECKOUT_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_CHECKOUT_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_CUSTOM_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_CUSTOM_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_CUSTOM_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_CUSTOM_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_CUSTOM_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_CUSTOM_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_CUSTOM_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_CUSTOM_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_CUSTOM_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_ADD_TO_CART_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_ADD_TO_CART_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_ADD_TO_CART_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_ADD_TO_CART_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_ADD_TO_CART_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_ADD_TO_CART_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_ADD_TO_CART_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_ADD_TO_CART_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_ADD_TO_CART_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_LEAD_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_LEAD_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_LEAD_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_LEAD_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_LEAD_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_LEAD_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_LEAD_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_LEAD_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_LEAD_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_SEARCH_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_SEARCH_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_SEARCH_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_SEARCH_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_SEARCH_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_SEARCH_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_SEARCH_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_SEARCH_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_SEARCH_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_WATCH_VIDEO_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_WATCH_VIDEO_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_WATCH_VIDEO_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_WATCH_VIDEO_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_WATCH_VIDEO_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_WATCH_VIDEO_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_WATCH_VIDEO_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_WATCH_VIDEO_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_WATCH_VIDEO_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_VIEW_CATEGORY_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_VIEW_CATEGORY_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_VIEW_CATEGORY_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_VIEW_CATEGORY_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_VIEW_CATEGORY_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_VIEW_CATEGORY_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_VIEW_CATEGORY_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_VIEW_CATEGORY_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_VIEW_CATEGORY_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_APP_INSTALL_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_APP_INSTALL_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_APP_INSTALL_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_APP_INSTALL_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_APP_INSTALL_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_APP_INSTALL_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_APP_INSTALL_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_APP_INSTALL_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_APP_INSTALL_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_UNKNOWN_DESKTOP_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_UNKNOWN_DESKTOP_ACTION_TO_MOBILE_CONVERSION", "TOTAL_UNKNOWN_DESKTOP_ACTION_TO_TABLET_CONVERSION", "TOTAL_UNKNOWN_MOBILE_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_UNKNOWN_MOBILE_ACTION_TO_MOBILE_CONVERSION", "TOTAL_UNKNOWN_MOBILE_ACTION_TO_TABLET_CONVERSION", "TOTAL_UNKNOWN_TABLET_ACTION_TO_DESKTOP_CONVERSION", "TOTAL_UNKNOWN_TABLET_ACTION_TO_MOBILE_CONVERSION", "TOTAL_UNKNOWN_TABLET_ACTION_TO_TABLET_CONVERSION", "TOTAL_CHECKOUT", "TOTAL_CUSTOM", "TOTAL_LEAD", "TOTAL_APP_INSTALL", "TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_CHECKOUT_QUANTITY", "APP_INSTALL_COST_PER_ACTION", "VIDEO_3SEC_VIEWS_1", "VIDEO_P100_COMPLETE_1", "VIDEO_P0_COMBINED_1", "VIDEO_P25_COMBINED_1", "VIDEO_P50_COMBINED_1", "VIDEO_P75_COMBINED_1", "VIDEO_P95_COMBINED_1", "VIDEO_MRC_VIEWS_1", "VIDEO_3SEC_VIEWS_2", "VIDEO_P100_COMPLETE_2", "VIDEO_P0_COMBINED_2", "VIDEO_P25_COMBINED_2", "VIDEO_P50_COMBINED_2", "VIDEO_P75_COMBINED_2", "VIDEO_P95_COMBINED_2", "VIDEO_MRC_VIEWS_2", "VIDEO_LENGTH", "CPV_IN_MICRO_DOLLAR", "CPCV_IN_MICRO_DOLLAR", "CPCV_P95_IN_MICRO_DOLLAR", "TOTAL_VIDEO_3SEC_VIEWS", "VIDEO_AVG_WATCHTIME_IN_SECOND_1", "VIDEO_AVG_WATCHTIME_IN_SECOND_2", "TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND", "WEB_CHECKOUT_COST_PER_ACTION", "WEB_CHECKOUT_ROAS", "TOTAL_WEB_CHECKOUT", "TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_CHECKOUT", "TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_CHECKOUT", "TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_CHECKOUT", "TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "INAPP_CHECKOUT_COST_PER_ACTION", "INAPP_CHECKOUT_ROAS", "TOTAL_INAPP_CHECKOUT", "TOTAL_INAPP_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_CLICK_CHECKOUT", "TOTAL_INAPP_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_ENGAGEMENT_CHECKOUT", "TOTAL_INAPP_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_VIEW_CHECKOUT", "TOTAL_INAPP_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "OFFLINE_CHECKOUT_COST_PER_ACTION", "OFFLINE_CHECKOUT_ROAS", "TOTAL_OFFLINE_CHECKOUT", "TOTAL_OFFLINE_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_CLICK_CHECKOUT", "TOTAL_OFFLINE_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_ENGAGEMENT_CHECKOUT", "TOTAL_OFFLINE_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_VIEW_CHECKOUT", "TOTAL_OFFLINE_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "WEB_ADD_TO_CART_COST_PER_ACTION", "WEB_ADD_TO_CART_ROAS", "TOTAL_WEB_ADD_TO_CART", "TOTAL_WEB_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_ADD_TO_CART", "TOTAL_WEB_CLICK_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_ADD_TO_CART", "TOTAL_WEB_ENGAGEMENT_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_ADD_TO_CART", "TOTAL_WEB_VIEW_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "INAPP_ADD_TO_CART_COST_PER_ACTION", "INAPP_ADD_TO_CART_ROAS", "TOTAL_INAPP_ADD_TO_CART", "TOTAL_INAPP_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_CLICK_ADD_TO_CART", "TOTAL_INAPP_CLICK_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_ENGAGEMENT_ADD_TO_CART", "TOTAL_INAPP_ENGAGEMENT_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_VIEW_ADD_TO_CART", "TOTAL_INAPP_VIEW_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR", "WEB_PAGE_VISIT_COST_PER_ACTION", "WEB_PAGE_VISIT_ROAS", "TOTAL_WEB_PAGE_VISIT", "TOTAL_WEB_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_PAGE_VISIT", "TOTAL_WEB_CLICK_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_PAGE_VISIT", "TOTAL_WEB_ENGAGEMENT_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_PAGE_VISIT", "TOTAL_WEB_VIEW_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR", "WEB_SIGNUP_COST_PER_ACTION", "WEB_SIGNUP_ROAS", "TOTAL_WEB_SIGNUP", "TOTAL_WEB_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_SIGNUP", "TOTAL_WEB_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_SIGNUP", "TOTAL_WEB_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_SIGNUP", "TOTAL_WEB_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR", "INAPP_SIGNUP_COST_PER_ACTION", "INAPP_SIGNUP_ROAS", "TOTAL_INAPP_SIGNUP", "TOTAL_INAPP_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_CLICK_SIGNUP", "TOTAL_INAPP_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_ENGAGEMENT_SIGNUP", "TOTAL_INAPP_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_VIEW_SIGNUP", "TOTAL_INAPP_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR", "OFFLINE_SIGNUP_COST_PER_ACTION", "OFFLINE_SIGNUP_ROAS", "TOTAL_OFFLINE_SIGNUP", "TOTAL_OFFLINE_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_CLICK_SIGNUP", "TOTAL_OFFLINE_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_ENGAGEMENT_SIGNUP", "TOTAL_OFFLINE_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_VIEW_SIGNUP", "TOTAL_OFFLINE_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR", "WEB_WATCH_VIDEO_COST_PER_ACTION", "WEB_WATCH_VIDEO_ROAS", "TOTAL_WEB_WATCH_VIDEO", "TOTAL_WEB_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_WATCH_VIDEO", "TOTAL_WEB_CLICK_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_WATCH_VIDEO", "TOTAL_WEB_ENGAGEMENT_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_WATCH_VIDEO", "TOTAL_WEB_VIEW_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR", "WEB_LEAD_COST_PER_ACTION", "WEB_LEAD_ROAS", "TOTAL_WEB_LEAD", "TOTAL_WEB_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_LEAD", "TOTAL_WEB_CLICK_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_LEAD", "TOTAL_WEB_ENGAGEMENT_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_LEAD", "TOTAL_WEB_VIEW_LEAD_VALUE_IN_MICRO_DOLLAR", "OFFLINE_LEAD_COST_PER_ACTION", "OFFLINE_LEAD_ROAS", "TOTAL_OFFLINE_LEAD", "TOTAL_OFFLINE_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_CLICK_LEAD", "TOTAL_OFFLINE_CLICK_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_ENGAGEMENT_LEAD", "TOTAL_OFFLINE_ENGAGEMENT_LEAD_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_VIEW_LEAD", "TOTAL_OFFLINE_VIEW_LEAD_VALUE_IN_MICRO_DOLLAR", "WEB_SEARCH_COST_PER_ACTION", "WEB_SEARCH_ROAS", "TOTAL_WEB_SEARCH", "TOTAL_WEB_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_SEARCH", "TOTAL_WEB_CLICK_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_SEARCH", "TOTAL_WEB_ENGAGEMENT_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_SEARCH", "TOTAL_WEB_VIEW_SEARCH_VALUE_IN_MICRO_DOLLAR", "INAPP_SEARCH_COST_PER_ACTION", "INAPP_SEARCH_ROAS", "TOTAL_INAPP_SEARCH", "TOTAL_INAPP_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_CLICK_SEARCH", "TOTAL_INAPP_CLICK_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_ENGAGEMENT_SEARCH", "TOTAL_INAPP_ENGAGEMENT_SEARCH_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_VIEW_SEARCH", "TOTAL_INAPP_VIEW_SEARCH_VALUE_IN_MICRO_DOLLAR", "WEB_VIEW_CATEGORY_COST_PER_ACTION", "WEB_VIEW_CATEGORY_ROAS", "TOTAL_WEB_VIEW_CATEGORY", "TOTAL_WEB_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_VIEW_CATEGORY", "TOTAL_WEB_CLICK_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_VIEW_CATEGORY", "TOTAL_WEB_ENGAGEMENT_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_VIEW_CATEGORY", "TOTAL_WEB_VIEW_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR", "WEB_CUSTOM_COST_PER_ACTION", "WEB_CUSTOM_ROAS", "TOTAL_WEB_CUSTOM", "TOTAL_WEB_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_CUSTOM", "TOTAL_WEB_CLICK_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_CUSTOM", "TOTAL_WEB_ENGAGEMENT_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_CUSTOM", "TOTAL_WEB_VIEW_CUSTOM_VALUE_IN_MICRO_DOLLAR", "OFFLINE_CUSTOM_COST_PER_ACTION", "OFFLINE_CUSTOM_ROAS", "TOTAL_OFFLINE_CUSTOM", "TOTAL_OFFLINE_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_CLICK_CUSTOM", "TOTAL_OFFLINE_CLICK_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_ENGAGEMENT_CUSTOM", "TOTAL_OFFLINE_ENGAGEMENT_CUSTOM_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_VIEW_CUSTOM", "TOTAL_OFFLINE_VIEW_CUSTOM_VALUE_IN_MICRO_DOLLAR", "WEB_UNKNOWN_COST_PER_ACTION", "WEB_UNKNOWN_ROAS", "TOTAL_WEB_UNKNOWN", "TOTAL_WEB_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_UNKNOWN", "TOTAL_WEB_CLICK_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_UNKNOWN", "TOTAL_WEB_ENGAGEMENT_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_UNKNOWN", "TOTAL_WEB_VIEW_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "INAPP_UNKNOWN_COST_PER_ACTION", "INAPP_UNKNOWN_ROAS", "TOTAL_INAPP_UNKNOWN", "TOTAL_INAPP_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_CLICK_UNKNOWN", "TOTAL_INAPP_CLICK_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_ENGAGEMENT_UNKNOWN", "TOTAL_INAPP_ENGAGEMENT_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_VIEW_UNKNOWN", "TOTAL_INAPP_VIEW_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "OFFLINE_UNKNOWN_COST_PER_ACTION", "OFFLINE_UNKNOWN_ROAS", "TOTAL_OFFLINE_UNKNOWN", "TOTAL_OFFLINE_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_CLICK_UNKNOWN", "TOTAL_OFFLINE_CLICK_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_ENGAGEMENT_UNKNOWN", "TOTAL_OFFLINE_ENGAGEMENT_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "TOTAL_OFFLINE_VIEW_UNKNOWN", "TOTAL_OFFLINE_VIEW_UNKNOWN_VALUE_IN_MICRO_DOLLAR", "INAPP_APP_INSTALL_COST_PER_ACTION", "INAPP_APP_INSTALL_ROAS", "TOTAL_INAPP_APP_INSTALL", "TOTAL_INAPP_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_CLICK_APP_INSTALL", "TOTAL_INAPP_CLICK_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_ENGAGEMENT_APP_INSTALL", "TOTAL_INAPP_ENGAGEMENT_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "TOTAL_INAPP_VIEW_APP_INSTALL", "TOTAL_INAPP_VIEW_APP_INSTALL_VALUE_IN_MICRO_DOLLAR", "IDEA_PIN_PRODUCT_TAG_VISIT_1", "IDEA_PIN_PRODUCT_TAG_VISIT_2", "REPIN_RATE", "TOTAL_VIDEO_P95_COMBINED", "AD_GROUP_ENTITY_STATUS", "ECPCV_P95_IN_DOLLAR", "ENGAGEMENT_RATE", "PAGE_VISIT_COST_PER_ACTION", "TOTAL_PAGE_VISIT", "CHECKOUT_ROAS", "TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR", "ECPCV_IN_DOLLAR", "TOTAL_VIDEO_P75_COMBINED", "TOTAL_VIDEO_P50_COMBINED", "TOTAL_SIGNUP", "TOTAL_VIDEO_P0_COMBINED", "SPEND_IN_DOLLAR", "EENGAGEMENT_RATE", "TOTAL_VIDEO_P25_COMBINED", "CPM_IN_DOLLAR", "ECPV_IN_DOLLAR", "TOTAL_CLICKTHROUGH", "ECPE_IN_DOLLAR", "TOTAL_VIDEO_P100_COMPLETE", "CAMPAIGN_ENTITY_STATUS", "PAGE_VISIT_ROAS", "TOTAL_REPIN_RATE", "TOTAL_VIDEO_MRC_VIEWS", "TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT", "ECPC_IN_DOLLAR" ] }, "CampaignCommon": { "required": [ "ad_account_id" ], "type": "object", "description": "Campaign Data", "properties": { "ad_account_id": { "description": "Campaign's Advertiser ID.", "example": "549755885175", "type": "string", "pattern": "^\\d+$" }, "name": { "type": "string", "description": "Campaign name.", "example": "ACME Tools" }, "status": { "type": "string", "allOf": [ { "$ref": "#/components/schemas/EntityStatus" } ], "default": "ACTIVE" }, "lifetime_spend_cap": { "description": "Campaign total spending cap.", "example": 1432744744, "type": "integer", "nullable": true }, "daily_spend_cap": { "description": "Campaign daily spending cap.", "example": 1432744744, "type": "integer", "nullable": true }, "order_line_id": { "description": "Order line ID that appears on the invoice.", "example": "549755885175", "type": "string", "pattern": "^\\d+$", "nullable": true }, "tracking_urls": { "type": "object", "nullable": true, "allOf": [ { "$ref": "#/components/schemas/TrackingUrls" } ] }, "start_time": { "type": "integer", "description": "Campaign start time. Unix timestamp in seconds. Only used for Campaign Budget Optimization (CBO) campaigns.", "example": 1580865126, "nullable": true }, "end_time": { "type": "integer", "description": "Campaign end time. Unix timestamp in seconds. Only used for Campaign Budget Optimization (CBO) campaigns.", "example": 1644023526, "nullable": true } } }, "ObjectiveType": { "type": "string", "description": "Campaign objective type.", "enum": [ "AWARENESS", "CONSIDERATION", "VIDEO_VIEW", "WEB_CONVERSION", "CATALOG_SALES", "WEB_SESSIONS", "AWARENESS_RESERVED", "ENGAGEMENT" ] }, "TargetingTypeFilter": { "type": "object", "properties": { "targeting_types": { "type": "array", "description": "List of targeting types", "items": { "$ref": "#/components/schemas/AdsAnalyticsTargetingType" }, "maxItems": 5, "minItems": 1 } } }, "TrackingUrls": { "description": "Third-party tracking URLs. Up to three tracking URLs are supported for each event type. Tracking URLs set at the ad group or ad level can override those set at the campaign level. For more information, see Third-party and dynamic tracking.", "example": { "impression": [ "URL1", "URL2" ], "click": [ "URL1", "URL2" ], "engagement": [ "URL1", "URL2" ], "buyable_button": [ "URL1", "URL2" ], "audience_verification": [ "URL1", "URL2" ] }, "type": "object", "nullable": true, "properties": { "impression": { "type": "array", "items": { "type": "string", "maxLength": 2000 }, "maxItems": 3 }, "click": { "type": "array", "items": { "type": "string", "maxLength": 2000 }, "maxItems": 3 }, "engagement": { "type": "array", "items": { "type": "string", "maxLength": 2000 }, "maxItems": 3 }, "buyable_button": { "type": "array", "items": { "type": "string", "maxLength": 2000 }, "maxItems": 3 }, "audience_verification": { "type": "array", "items": { "type": "string", "maxLength": 2000 }, "maxItems": 3 } } }, "CampaignSummaryStatus": { "type": "string", "description": "Summary status for campaign", "example": "RUNNING", "enum": [ "RUNNING", "PAUSED", "NOT_STARTED", "COMPLETED", "ADVERTISER_DISABLED", "ARCHIVED" ] } }, "parameters": { "path_ad_account_id": { "name": "ad_account_id", "description": "Unique identifier of an ad account.", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d+$" } }, "path_board_id": { "name": "board_id", "description": "Unique identifier of a board.", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d+$" } }, "path_board_section_id": { "name": "section_id", "description": "Unique identifier of a board section.", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d+$" } }, "path_catalogs_feed_id": { "description": "Unique identifier of a feed", "in": "path", "required": true, "name": "feed_id", "schema": { "type": "string", "pattern": "^\\d+$" } }, "path_catalogs_items_batch_id": { "name": "batch_id", "in": "path", "description": "Id of a catalogs items batch to fetch", "example": "595953100599279259-66753b9bb65c46c49bd8503b27fecf9e", "required": true, "schema": { "type": "string" } }, "path_media_id": { "name": "media_id", "description": "Media identifier", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\d+$" } }, "path_pin_id": { "name": "pin_id", "description": "Unique identifier of a Pin.", "in": "path", "required": true, "schema": { "type": "string" } }, "query_ad_account_id": { "name": "ad_account_id", "description": "Unique identifier of an ad account.", "in": "query", "schema": { "type": "string", "pattern": "^\\d+$" } }, "query_ad_group_ids": { "description": "List of Ad group Ids to use to filter the results.", "in": "query", "name": "ad_group_ids", "required": false, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_ad_group_ids_required": { "description": "List of Ad group Ids to use to filter the results.", "in": "query", "name": "ad_group_ids", "required": true, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_ad_ids": { "description": "List of Ad Ids to use to filter the results.", "in": "query", "name": "ad_ids", "required": false, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_ad_ids_required": { "description": "List of Ad Ids to use to filter the results.", "in": "query", "name": "ad_ids", "required": true, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_app_types": { "description": "Apps or devices to get data for, default is all.", "in": "query", "name": "app_types", "required": false, "schema": { "default": "ALL", "enum": [ "ALL", "MOBILE", "TABLET", "WEB" ], "type": "string" } }, "query_bookmark": { "name": "bookmark", "description": "Cursor used to fetch the next page of items", "in": "query", "required": false, "schema": { "type": "string" } }, "query_campaign_ids": { "description": "List of Campaign Ids to use to filter the results.", "in": "query", "name": "campaign_ids", "required": false, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_campaign_ids_required": { "description": "List of Campaign Ids to use to filter the results.", "in": "query", "name": "campaign_ids", "required": true, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_columns": { "description": "Columns to retrieve. **NOTE**: Any metrics defined as MICRO_DOLLARS returns a value based on the advertiser profile's currency field. For USD,($1/1,000,000, or $0.000001 - one one-ten-thousandth of a cent). it's microdollars. Otherwise, it's in microunits of the advertiser's currency.
For example, if the advertiser's currency is GBP (British pound sterling), all MICRO_DOLLARS fields will be in GBP microunits (1/1,000,000 British pound).
If a column has no value, it may not be returned", "explode": false, "in": "query", "name": "columns", "required": true, "schema": { "items": { "type": "string", "description": "Reporting columns", "example": "SPEND_IN_DOLLAR", "enum": [ "AD_ACCOUNT_ID", "AD_GROUP_ENTITY_STATUS", "AD_GROUP_ID", "AD_ID", "CAMPAIGN_DAILY_SPEND_CAP", "CAMPAIGN_ENTITY_STATUS", "CAMPAIGN_ID", "CAMPAIGN_LIFETIME_SPEND_CAP", "CAMPAIGN_NAME", "CHECKOUT_ROAS", "CLICKTHROUGH_1", "CLICKTHROUGH_1_GROSS", "CLICKTHROUGH_2", "CPC_IN_MICRO_DOLLAR", "CPM_IN_DOLLAR", "CPM_IN_MICRO_DOLLAR", "CTR", "CTR_2", "ECPCV_IN_DOLLAR", "ECPCV_P95_IN_DOLLAR", "ECPC_IN_DOLLAR", "ECPC_IN_MICRO_DOLLAR", "ECPE_IN_DOLLAR", "ECPM_IN_MICRO_DOLLAR", "ECPV_IN_DOLLAR", "ECTR", "EENGAGEMENT_RATE", "ENGAGEMENT_1", "ENGAGEMENT_2", "ENGAGEMENT_RATE", "IDEA_PIN_PRODUCT_TAG_VISIT_1", "IDEA_PIN_PRODUCT_TAG_VISIT_2", "IMPRESSION_1", "IMPRESSION_1_GROSS", "IMPRESSION_2", "INAPP_CHECKOUT_COST_PER_ACTION", "OUTBOUND_CLICK_1", "OUTBOUND_CLICK_2", "PAGE_VISIT_COST_PER_ACTION", "PAGE_VISIT_ROAS", "PAID_IMPRESSION", "PIN_ID", "REPIN_1", "REPIN_2", "REPIN_RATE", "SPEND_IN_DOLLAR", "SPEND_IN_MICRO_DOLLAR", "TOTAL_CHECKOUT", "TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICKTHROUGH", "TOTAL_CLICK_CHECKOUT", "TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_CLICK_LEAD", "TOTAL_CLICK_SIGNUP", "TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_CONVERSIONS", "TOTAL_CUSTOM", "TOTAL_ENGAGEMENT", "TOTAL_ENGAGEMENT_CHECKOUT", "TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_ENGAGEMENT_LEAD", "TOTAL_ENGAGEMENT_SIGNUP", "TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT", "TOTAL_IMPRESSION_FREQUENCY", "TOTAL_IMPRESSION_USER", "TOTAL_LEAD", "TOTAL_PAGE_VISIT", "TOTAL_REPIN_RATE", "TOTAL_SIGNUP", "TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIDEO_3SEC_VIEWS", "TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND", "TOTAL_VIDEO_MRC_VIEWS", "TOTAL_VIDEO_P0_COMBINED", "TOTAL_VIDEO_P100_COMPLETE", "TOTAL_VIDEO_P25_COMBINED", "TOTAL_VIDEO_P50_COMBINED", "TOTAL_VIDEO_P75_COMBINED", "TOTAL_VIDEO_P95_COMBINED", "TOTAL_VIEW_CHECKOUT", "TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_VIEW_LEAD", "TOTAL_VIEW_SIGNUP", "TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CHECKOUT", "TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_CLICK_CHECKOUT", "TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_ENGAGEMENT_CHECKOUT", "TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "TOTAL_WEB_VIEW_CHECKOUT", "TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR", "VIDEO_3SEC_VIEWS_2", "VIDEO_LENGTH", "VIDEO_MRC_VIEWS_2", "VIDEO_P0_COMBINED_2", "VIDEO_P100_COMPLETE_2", "VIDEO_P25_COMBINED_2", "VIDEO_P50_COMBINED_2", "VIDEO_P75_COMBINED_2", "VIDEO_P95_COMBINED_2", "WEB_CHECKOUT_COST_PER_ACTION", "WEB_CHECKOUT_ROAS" ] }, "type": "array" } }, "query_conversion_attribution_click_window_days": { "name": "click_window_days", "in": "query", "schema": { "type": "integer", "enum": [ 1, 7, 30, 60 ], "default": 30 }, "description": "Number of days to use as the conversion attribution window for a pin click action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days.", "example": 1 }, "query_conversion_attribution_engagement_window_days": { "name": "engagement_window_days", "in": "query", "description": "Number of days to use as the conversion attribution window for an engagement action. Engagements include saves, closeups, link clicks, and carousel card swipes. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days.", "schema": { "type": "integer", "enum": [ 1, 7, 30, 60 ], "default": 30 } }, "query_conversion_attribution_view_window_days": { "name": "view_window_days", "in": "query", "description": "Number of days to use as the conversion attribution window for a view action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `1` day.", "schema": { "type": "integer", "enum": [ 1, 7, 30, 60 ], "default": 1 } }, "query_conversion_attribution_conversion_report_time": { "description": "The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.", "example": "TIME_OF_AD_ACTION", "in": "query", "name": "conversion_report_time", "schema": { "type": "string", "enum": [ "TIME_OF_AD_ACTION", "TIME_OF_CONVERSION" ], "default": "TIME_OF_AD_ACTION" } }, "query_end_date": { "description": "Metric report end date (UTC). Format: YYYY-MM-DD", "in": "query", "name": "end_date", "required": true, "schema": { "type": "string", "format": "date" } }, "query_entity_statuses": { "in": "query", "name": "entity_statuses", "required": false, "description": "Entity status", "schema": { "type": "array", "items": { "type": "string", "example": "ACTIVE", "enum": [ "ACTIVE", "PAUSED", "ARCHIVED" ] } } }, "query_from_claimed_content": { "description": "Filter on Pins that match your claimed domain.", "in": "query", "name": "from_claimed_content", "required": false, "schema": { "default": "BOTH", "enum": [ "OTHER", "CLAIMED", "BOTH" ], "type": "string" } }, "query_granularity": { "description": "Granularity", "example": "DAY", "in": "query", "name": "granularity", "required": true, "schema": { "$ref": "#/components/schemas/Granularity" } }, "query_metric_types": { "description": "Metric types to get data for, default is all. ", "explode": false, "in": "query", "name": "metric_types", "required": false, "schema": { "items": { "enum": [ "ENGAGEMENT", "ENGAGEMENT_RATE", "IMPRESSION", "OUTBOUND_CLICK", "OUTBOUND_CLICK_RATE", "PIN_CLICK", "PIN_CLICK_RATE", "SAVE", "SAVE_RATE" ], "type": "string" }, "type": "array" }, "style": "form" }, "query_pin_analytics_metric_types": { "description": "Pin metric types to get data for, default is all.", "explode": false, "in": "query", "name": "metric_types", "required": true, "schema": { "items": { "enum": [ "IMPRESSION", "SAVE", "PIN_CLICK", "OUTBOUND_CLICK", "VIDEO_MRC_VIEW", "VIDEO_AVG_WATCH_TIME", "VIDEO_V50_WATCH_TIME", "QUARTILE_95_PERCENT_VIEW" ], "type": "string" }, "type": "array" }, "style": "form" }, "query_split_field_user_account": { "description": "How to split the data into groups. Not including this param means data won't be split.", "required": false, "in": "query", "explode": false, "name": "split_field", "schema": { "default": "NO_SPLIT", "enum": [ "NO_SPLIT", "APP_TYPE", "OWNED_CONTENT", "PIN_FORMAT" ], "type": "string" } }, "query_split_field_pins": { "description": "How to split the data into groups. Not including this param means data won't be split.", "required": false, "in": "query", "explode": false, "name": "split_field", "schema": { "default": "NO_SPLIT", "enum": [ "NO_SPLIT", "APP_TYPE" ], "type": "string" } }, "query_order": { "description": "The order in which to sort the items returned: “ASCENDING” or “DESCENDING”\nby ID. Note that higher-value IDs are associated with more-recently added\nitems.", "in": "query", "name": "order", "required": false, "schema": { "type": "string", "example": "ASCENDING", "enum": [ "ASCENDING", "DESCENDING" ] } }, "query_page_size": { "name": "page_size", "description": "Maximum number of items to include in a single page of the response. See documentation on Pagination for more information.", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 25 } }, "query_pin_format": { "description": "Pin formats to get data for, default is all.", "in": "query", "name": "pin_format", "required": false, "schema": { "default": "ALL", "enum": [ "ALL", "PRODUCT", "REGULAR", "VIDEO" ], "type": "string" } }, "query_product_group_ids_required": { "description": "List of Product group Ids to use to filter the results.", "in": "query", "name": "product_group_ids", "required": true, "schema": { "type": "array", "items": { "type": "string", "pattern": "^\\d+$" }, "minItems": 1, "maxItems": 100 } }, "query_start_date": { "description": "Metric report start date (UTC). Format: YYYY-MM-DD", "in": "query", "name": "start_date", "required": true, "schema": { "type": "string", "format": "date" } }, "query_token_required": { "name": "token", "description": "Token returned from the post request creation call", "in": "query", "required": true, "schema": { "type": "string" } }, "query_include_shared_accounts": { "in": "query", "description": "Include shared ad accounts", "name": "include_shared_accounts", "required": false, "schema": { "type": "boolean", "default": true } }, "query_translate_interests_to_names": { "description": "Return interests as text names (if value is true) rather than topic IDs.", "in": "query", "name": "translate_interests_to_names", "required": false, "schema": { "type": "boolean", "default": false } } } } }