0

Assign/Update partner asset permissions

by
Published Dec 20, 2024

Grant multiple partners access to assets and/or update multiple partner's exisiting permissions to an asset.

Script pinterest Verified

The script

Submitted by hugo697 Bun
Verified 536 days ago
1
//native
2
type Pinterest = {
3
  token: string;
4
};
5
/**
6
 * Assign/Update partner asset permissions
7
 * Grant multiple partners access to assets and/or update multiple partner's exisiting permissions to an asset.
8
 */
9
export async function main(
10
  auth: Pinterest,
11
  business_id: string,
12
  body: {
13
    accesses: {
14
      partner_id: string;
15
      asset_id: string;
16
      permissions:
17
        | "ADMIN"
18
        | "ANALYST"
19
        | "FINANCE_MANAGER"
20
        | "AUDIENCE_MANAGER"
21
        | "CAMPAIGN_MANAGER"
22
        | "CATALOGS_MANAGER"
23
        | "PROFILE_PUBLISHER"[];
24
    }[];
25
  },
26
) {
27
  const url = new URL(
28
    `https://api.pinterest.com/v5/businesses/${business_id}/partners/assets`,
29
  );
30

31
  const response = await fetch(url, {
32
    method: "PATCH",
33
    headers: {
34
      "Content-Type": "application/json",
35
      Authorization: "Bearer " + auth.token,
36
    },
37
    body: JSON.stringify(body),
38
  });
39
  if (!response.ok) {
40
    const text = await response.text();
41
    throw new Error(`${response.status} ${text}`);
42
  }
43
  return await response.json();
44
}
45