Pinterest
List the company's Pinterest catalog listings
Lists the Pinterest catalog listings on the company’s Pinterest connection, one per Fluid product that has been selected for the catalog, with each listing’s publish status, rolled-up audit status, and the raw id and status of the last catalog batch. Requires a company admin token with the products.view permission. Returns 404 when the company has never connected a Pinterest account. Cursor-paginated, newest first: page[limit] defaults to 25 (max 100); pass meta.pagination.next_cursor back as page[cursor] to fetch the next page.
GET
/
api
/
v202506
/
pinterest
/
catalog_listings
List the company's Pinterest catalog listings
curl --request GET \
--url https://api.fluid.app/api/v202506/pinterest/catalog_listings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202506/pinterest/catalog_listings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202506/pinterest/catalog_listings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202506/pinterest/catalog_listings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202506/pinterest/catalog_listings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/v202506/pinterest/catalog_listings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202506/pinterest/catalog_listings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"catalog_listings": [
{
"id": 48213,
"item_group_id": "01923f4e-8b7a-7c21-9d3e-5f6a7b8c9d0e",
"pinterest_batch_id": "5629417836041928374",
"pinterest_batch_status": "COMPLETED",
"product_id": 91274,
"status": "active",
"audit_status": "approved",
"last_published_at": "2026-09-22T14:05:37.000Z",
"last_synced_at": "2026-09-29T09:12:44.000Z",
"last_error": null
},
{
"id": 48214,
"item_group_id": "01923f4f-1c2d-7e3f-8a4b-6c7d8e9f0a1b",
"pinterest_batch_id": "5629417836041928511",
"pinterest_batch_status": "FAILED",
"product_id": 91288,
"status": "publish_failed",
"audit_status": "audit_failed",
"last_published_at": null,
"last_synced_at": "2026-09-29T09:12:51.000Z",
"last_error": {
"type": "pinterest_error",
"description": "Item image_link could not be fetched",
"details": {}
}
}
],
"status": 200,
"meta": {
"request_uuid": "8b4e2f71-3c9a-4d6e-b1f0-5a7c9e2d4b18",
"timestamp": "2026-09-30T16:42:11Z",
"pagination": {
"cursor": "eyJpZCI6NDgyMTMsImNyZWF0ZWRfYXQiOiIyMDI2LTA5LTI5In0",
"limit": 25,
"prev_cursor": null,
"next_cursor": "eyJpZCI6NDgyMTQsImNyZWF0ZWRfYXQiOiIyMDI2LTA5LTIyIn0"
}
}
}{
"message": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Cursor token for pagination (from meta.pagination in the response).
Number of records per page (max 100).
Required range:
1 <= x <= 100⌘I
List the company's Pinterest catalog listings
curl --request GET \
--url https://api.fluid.app/api/v202506/pinterest/catalog_listings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202506/pinterest/catalog_listings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202506/pinterest/catalog_listings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202506/pinterest/catalog_listings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202506/pinterest/catalog_listings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/v202506/pinterest/catalog_listings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202506/pinterest/catalog_listings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"catalog_listings": [
{
"id": 48213,
"item_group_id": "01923f4e-8b7a-7c21-9d3e-5f6a7b8c9d0e",
"pinterest_batch_id": "5629417836041928374",
"pinterest_batch_status": "COMPLETED",
"product_id": 91274,
"status": "active",
"audit_status": "approved",
"last_published_at": "2026-09-22T14:05:37.000Z",
"last_synced_at": "2026-09-29T09:12:44.000Z",
"last_error": null
},
{
"id": 48214,
"item_group_id": "01923f4f-1c2d-7e3f-8a4b-6c7d8e9f0a1b",
"pinterest_batch_id": "5629417836041928511",
"pinterest_batch_status": "FAILED",
"product_id": 91288,
"status": "publish_failed",
"audit_status": "audit_failed",
"last_published_at": null,
"last_synced_at": "2026-09-29T09:12:51.000Z",
"last_error": {
"type": "pinterest_error",
"description": "Item image_link could not be fetched",
"details": {}
}
}
],
"status": 200,
"meta": {
"request_uuid": "8b4e2f71-3c9a-4d6e-b1f0-5a7c9e2d4b18",
"timestamp": "2026-09-30T16:42:11Z",
"pagination": {
"cursor": "eyJpZCI6NDgyMTMsImNyZWF0ZWRfYXQiOiIyMDI2LTA5LTI5In0",
"limit": 25,
"prev_cursor": null,
"next_cursor": "eyJpZCI6NDgyMTQsImNyZWF0ZWRfYXQiOiIyMDI2LTA5LTIyIn0"
}
}
}{
"message": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}