### Get Brandfolders Source: https://developers.smartsheet.com/api/brandfolder/openapi/sections/opidapiv4brandfolderssectionsbybrandfolderidpost Retrieves a list of all brandfolders. ```APIDOC ## GET /brandfolders ### Description Retrieves a list of all brandfolders within the organization. ### Method GET ### Endpoint /brandfolders ### Parameters (No parameters specified in the source text) ### Request Body (Not applicable for GET requests) ### Response #### Success Response (200 or other) (No specific response schema provided in the source text) ### Request Example (No example provided in the source text) ### Response Example (No example provided in the source text) ``` -------------------------------- ### Create Invitation Source: https://developers.smartsheet.com/api/brandfolder/openapi/invitations/opidapiv4brandguidesinvitationsbybrandguideidpost This snippet shows how to create an invitation to a Brandguide. You need to provide the Brandguide ID in the path and the invitee's details in the request body. ```APIDOC ## POST /brandguides/{brandguide_id}/invitations ### Description Creates an invitation to the matching Brandguide. ### Method POST ### Endpoint /brandguides/{brandguide_id}/invitations ### Parameters #### Path Parameters - **brandguide_id** (string, required) - Unique identifier for the resource instance. Example: "oqgiju-21olts-ce9egi" #### Header parameters - **Content-Type** (string, required) - Enum: "application/json" - **Authorization** (string, required) - Bearer token for authentication #### Request Body - **data** (object, required) - **data.attributes** (object, required) - **data.attributes.email** (string, required) - Email address of invitee. Example: "test@example.com" - **data.attributes.permission_level** (string, required) - Access to grant invitee. Enum: "guest", "collaborator", "admin", "owner" > Note: owner is only valid when inviting someone to an Organization. - **data.attributes.personal_message** (string) - A message for invitee. Example: "Welcome to my Brandfolder!" - **data.attributes.prevent_email** (boolean) - Set this to true to skip sending an invitation email to the invitee. ### Request Example ```json { "data": { "attributes": { "email": "test@example.com", "permission_level": "guest", "personal_message": "Welcome to my Brandfolder!", "prevent_email": false } } } ``` ### Response 200 #### Response fields - **data** (object, required) - **data.attributes** (object) - **data.attributes.id** (string, required) - Unique identifier for the resource instance. Example: "a3dlao-hd6so4-7d91d2" - **data.attributes.type** (string, required) - The type of the resource. Enum: "invitations" - **data.attributes.attributes** (object, required) - **data.attributes.attributes.email** (string, required) - Email address of the recipient. Example: "test@example.com" - **data.attributes.attributes.permission_level** (string) - Access to grant the recipient. Example: "guest" - **data.attributes.attributes.personal_message** (string) - A message for the recipient. Example: "Welcome to my Brandfolder!" - **data.attributes.attributes.invitation_url** (string) - The invitation's URL. Example: "https://brandfolder.com/invitations/abc123" - **meta** (object, required) - **meta.auto_accepted** (boolean) #### Response Example ```json { "data": { "attributes": { "id": "a3dlao-hd6so4-7d91d2", "type": "invitations", "attributes": { "email": "test@example.com", "permission_level": "guest", "personal_message": "Welcome to my Brandfolder!", "invitation_url": "https://brandfolder.com/invitations/abc123" } } }, "meta": { "auto_accepted": false } } ``` ``` -------------------------------- ### Collection Attributes Example Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/collectionattributes An example of a collection object with its attributes. ```APIDOC ```json { "name": "My collection", "tagline": "My collection tag line", "slug": "my-collection", "public": false, "stealth": false, "is_workspace": false } ``` ``` -------------------------------- ### Create a section Source: https://developers.smartsheet.com/api/brandfolder/openapi/sections/opidapiv4sectionsassetsbysectionidget Creates a section in the matching Brandfolder. ```APIDOC ## POST /brandfolders/{brandfolder_id}/sections ### Description Creates a section in the matching Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/sections ### Parameters #### Path Parameters - **brandfolder_id** (string) - Required - Unique identifier for the resource instance. #### Headers - **Content-Type** (string) - Required - Value: "application/json" - **Accept** (string) - Required - Value: "application/json" - **Authorization** (string) - Required - Bearer token for authentication #### Request Body - **data** (object) - Required - **data.attributes** (object) - Required - **data.attributes.name** (string) - Required - A name. - **data.attributes.default_asset_type** (string) - Required - Set this to the type of asset to put in the section. Recommended: `GenericFile`. - **data.attributes.position** (integer) - Optional - Set this to a non-negative integer that represents where to display the section relative to other sections. The first position is `0`. Defaults to the next available position. ### Request Example ```json { "data": { "attributes": { "name": "My section", "default_asset_type": "GenericFile", "position": 0 } } } ``` ### Response #### Success Response (200) - **data** (object) - Required - The new section. - **data.id** (string) - Required - Unique identifier for the resource instance. - **data.type** (string) - Required - The type of the resource. Value: "sections" - **data.attributes** (object) - Required - Section attributes. - **data.attributes.name** (string) - The name of the section. - **data.attributes.default_asset_type** (string) - The type of asset the section contains. - **data.attributes.position** (integer) - A non-negative integer that represents where the section displays relative to other sections. The first position is `0`. #### Response Example ```json { "data": { "id": "oqgkkd-fr5iv4-hh142d", "type": "sections", "attributes": { ... } } } ``` ``` -------------------------------- ### Webhook Response Example Source: https://developers.smartsheet.com/api/brandfolder/openapi/webhooks/opidapiv4webhooksbyiddelete This is an example of a successful response when a test webhook is queued. The `message` and `status` fields confirm the action. ```json { "message": "Added demo webhook to queue", "status": "ok" } ``` -------------------------------- ### Initiate Binary Upload Request Source: https://developers.smartsheet.com/api/brandfolder/openapi/tags/opidapiv4tagsbyidput This endpoint initiates the binary upload process by providing signed URLs for uploading files to Brandfolder's storage. ```APIDOC ## POST /upload_requests ### Description Initiates a binary upload request to obtain signed URLs for uploading files. ### Method POST ### Endpoint /upload_requests ### Request Body This endpoint does not require a request body. ### Response #### Success Response (200) - **upload_url** (string) - A signed URL for direct file upload. - **resumable_upload_url** (string) - A signed URL for resumable file uploads. - **service_type** (string) - The type of storage service being used. - **object_url** (string) - A URL pointing to the uploaded object in storage. #### Response Example ```json { "upload_url": "https://example.com/upload/url", "resumable_upload_url": "https://example.com/resumable/upload/url", "service_type": "S3", "object_url": "https://example.com/object/url" } ``` ``` -------------------------------- ### Example Collection Response Source: https://developers.smartsheet.com/api/brandfolder/guides/recipes/search-via-collections-and-sections.md An example JSON response when requesting details for a specific collection, including its ID, name, and slug. ```json { "data": { "id": "", "type": "collections", "attributes": { "name": "Ad Agency", "slug": "ad-agency-0", "tagline": "", "public": false, "stealth": false, "is_workspace": false } } } ``` -------------------------------- ### Create Webhook Subscription Request Source: https://developers.smartsheet.com/api/brandfolder/openapi/webhooks/opidapiv4webhooksget This cURL command demonstrates how to subscribe to asset creation events for a specific Brandfolder. Ensure you replace `` with your actual API token. ```curl curl -i -X POST \ https://brandfolder.com/api/v1/webhooks \ -H 'Authorization: Bearer ' -H 'Content-Type: application/json' \ -d '{ "data": { "attributes": { "event_type": "asset.create", "resource_key": "oqgiju-21olts-ce9egi", "resource_type": "brandfolder", "callback_url": "https://your_company.com/your_callback_url" } } }' ``` -------------------------------- ### Webhook Response Example Source: https://developers.smartsheet.com/api/brandfolder/openapi/webhooks/opidapiv4webhooksbyidget This is an example of the JSON response body when a webhook is successfully retrieved. It includes the webhook's ID and its attributes. ```json { "data": { "id": "oqgkkd-fr5iv4-hh142d", "attributes": { … } } } ``` -------------------------------- ### Get Upload Requests Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/userpermissiontocollection Retrieves a list of upload requests. This is the first step in the binary upload process to get an upload URL. ```APIDOC ## GET /upload_requests ### Description Retrieves a list of upload requests. This is the first step in the binary upload process to get an upload URL. ### Method GET ### Endpoint /upload_requests ### Response #### Success Response (200) - **upload_url** (string) - A signed URL for uploading a file. - **resumable_upload_url** (string) - A signed URL for resumable uploads. - **service_type** (string) - The type of storage service. - **object_url** (string) - The URL where the uploaded object will be stored. ``` -------------------------------- ### Create an invitation to a Brandguide Source: https://developers.smartsheet.com/api/brandfolder/openapi.md Creates a new invitation to a specific Brandguide. ```APIDOC ## POST /brandguides/{brandguide_id}/invitations ### Description Creates an invitation to the matching Brandguide. ### Method POST ### Endpoint /brandguides/{brandguide_id}/invitations ``` -------------------------------- ### Paginated API Response Example Source: https://developers.smartsheet.com/api/brandfolder/guides/basics/query-parameters.md This is an example of a JSON response when paginating assets. It includes the 'data' array with assets and 'meta' information like 'total_count'. ```json { "data": [ { "id": "oqgkkd-fr5iv4-443db", "type": "generic_files", "attributes": { "name": "Brandfolder Logo", "description": "Brandfolder's logo in print ready form", "thumbnail_url": "https://example.com/thumbnail1/example.jpeg?Expires=1624742369", "approved": true } }, { "id": "oqh4xl-ci1u7c-emfa7g", "type": "generic_files", "attributes": { "name": "Facebook Banner - Large", "description": "Brandfolder banner optimized for Facebook", "thumbnail_url": "https://example.com/thumbnail2/example.jpeg?Expires=1624742369", "approved": false } } ], "meta": { "total_count": 17 } } ``` -------------------------------- ### Binary Upload - Get Upload URL Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/webhook Initiates the binary upload process by obtaining a signed upload URL and other necessary details from the Brandfolder API. ```APIDOC ## POST /upload_requests ### Description Requests a signed upload URL for binary file uploads. This is the first step in a multi-step upload process. ### Method POST ### Endpoint /upload_requests ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **upload_url** (string) - A signed URL for uploading the file. - **resumable_upload_url** (string) - A signed URL for resumable uploads. - **service_type** (string) - The type of storage service. - **object_url** (string) - A URL pointing to the object in storage. #### Response Example { "upload_url": "https://example.com/upload/url", "resumable_upload_url": "https://example.com/resumable/upload/url", "service_type": "S3", "object_url": "https://example.com/object/url" } ``` -------------------------------- ### Get Upload URL Source: https://developers.smartsheet.com/api/brandfolder/openapi/binary_upload.md Initiates the binary upload process by requesting a signed upload URL from the storage service. ```APIDOC ## GET /api/brandfolder/openapi/binary_upload/opidstorageserviceuploadrequestsget ### Description Requests a signed upload URL for binary file uploads. ### Method GET ### Endpoint /api/brandfolder/openapi/binary_upload/opidstorageserviceuploadrequestsget ### Response #### Success Response (200) - **upload_url** (string) - A signed URL for uploading the file. - **resumable_upload_url** (string) - A signed URL for resumable uploads. - **service_type** (string) - The type of storage service. - **object_url** (string) - The final object URL for the uploaded asset. ``` -------------------------------- ### Example API Request URL Source: https://developers.smartsheet.com/api/brandfolder/introduction.md This example shows how to construct a full URL for fetching an organization by its ID. Replace the placeholder ID with a real one. ```http GET https://brandfolder.com/api/v4/organizations/plqlkk-22rw6g-3dqgx0 ``` -------------------------------- ### Example API Response for User Permission Source: https://developers.smartsheet.com/api/brandfolder/openapi/user_permissions/opidapiv4brandfoldersuserpermissionsbybrandfolderidget This is an example of a successful JSON response when fetching a user permission. It includes the permission ID, type, and attributes such as the permission level. ```json { "data": { "id": "p2f0ou-3geb4w-123456", "type": "user_permissions", "attributes": { … }, "relationships": { … } } } ``` -------------------------------- ### Create Section Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/attachmentattributes Creates a new section within a specified Brandfolder. ```APIDOC ## POST /brandfolders/{brandfolder_id}/sections ### Description Creates a new section within a specified Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/sections ``` -------------------------------- ### Create Invitation Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/customfieldvalue Creates a new invitation to a Brandfolder. ```APIDOC ## Invitation creation request ### Description Creates a new invitation to a Brandfolder. ### Method POST ### Endpoint /invitations ### Parameters #### Request Body - **data** (object) - Required - **attributes** (object) - Required - **email** (string) - Required - Email address of invitee. - **permission_level** (string) - Required - Access to grant invitee. Enum: "guest", "collaborator", "admin", "owner". - **personal_message** (string) - A message for invitee. - **prevent_email** (boolean) - Set this to `true` to skip sending an invitation email to the invitee. Default: false. ### Request Example ```json { "data": { "attributes": { "email": "test@example.com", "permission_level": "guest", "personal_message": "Welcome to my Brandfolder!", "prevent_email": false } } } ``` ``` -------------------------------- ### GET /upload_requests Source: https://developers.smartsheet.com/api/brandfolder/openapi/binary_upload/opidstorageserviceuploadrequestsget Gets an upload URL for direct file uploads and resuming interrupted uploads. The response includes the storage service type and an object URL for attaching the file to a Brandfolder asset. ```APIDOC ## GET /upload_requests ### Description Gets an upload URL. After uploading a file, you can add it as Brandfolder asset by copying the object_url value from the response into your request body's attachments.url property. ### Method GET ### Endpoint /upload_requests ### Header parameters - **Authorization** (string, required) - Bearer token for authentication ### Response #### Success Response (200) - **upload_url** (string) - A signed upload_url that allows a user to PUT a file. - **resumable_upload_url** (string) - A signed URL that allows a user to resume PUT operations for a file. - **service** (string) - The storage service type. - **object_url** (string) - An attachment URL to provide to the Brandfolder create assets API call. ### Response Example ```json { "upload_url": "https://example.com/upload/url", "resumable_upload_url": "https://example.com/resumable/upload/url", "service": "S3", "object_url": "https://brandfolder.com/assets/object/url" } ``` ``` -------------------------------- ### Create Webhook Source: https://developers.smartsheet.com/api/brandfolder/openapi/tags/opidapiv4brandfolderstagsbybrandfolderidget Creates a new webhook subscription for a Brandfolder. Requires authentication and a callback URL. ```APIDOC ## POST /webhooks ### Description Creates a new webhook subscription for a Brandfolder. ### Method POST ### Endpoint /webhooks ### Request Body This endpoint requires a request body that is not explicitly defined in the source. It is implied that the body would contain the `callback_url` and potentially other subscription details. ### Response Success Response (200) - The response for this operation is not explicitly defined in the source. ``` -------------------------------- ### Get Asset with Collection Inclusion Source: https://developers.smartsheet.com/api/brandfolder/guides/recipes/sync-media-from-brandfolder.md Retrieve detailed asset information, including its collections, by making a GET request to the Brandfolder API. This is useful for validating if an asset belongs to a specific collection before syncing. ```http GET https://brandfolder.com/api/v4/assets/?include=collections ``` -------------------------------- ### Create Label Source: https://developers.smartsheet.com/api/brandfolder/openapi/labels/opidapiv4collectionslabelsbybrandfolderidpost Creates a label in the matching Brandfolder. ```APIDOC ## POST /brandfolders/{brandfolder_id}/labels ### Description Creates a label in the matching Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/labels ### Parameters #### Path Parameters - **brandfolder_id** (string, required) - Unique identifier for the resource instance. Example: "oqgiju-21olts-ce9egi" #### Header Parameters - **Content-Type** (string, required) - Enum: "application/json" - **Accept** (string, required) - Enum: "application/json" - **Authorization** (string, required) - Bearer token for authentication #### Request Body - **data** (object, required) - **data.attributes** (object, required) - **data.attributes.name** (string, required) - Sets a name for the label. Example: "onboarding" - **data.attributes.parent_key** (string, optional) - Set this to the ID of the label's parent label, if any. If you're creating a root-level label, don't specify this property. Example: "abc123" ### Request Example { "data": { "attributes": { "name": "onboarding", "parent_key": "abc123" } } } ### Response #### Success Response (200) - **data** (object, required) - **data.id** (string, required) - Unique identifier for the resource instance. Example: "oqgkkd-fr5iv4-443db" - **data.type** (string, required) - The type of the resource. Enum: "labels" - **data.attributes** (object, required) - **data.attributes.name** (string) - The name of the label. Example: "onboarding" - **data.attributes.path** (array) - Hierarchy of label IDs, starting with this label's ID. Example: ["oqgkkd-fr5iv4-443db","abc123"] - **data.attributes.position** (integer) - Label location represented by a positive integer; 0 is the first position. - **data.attributes.depth** (integer) - The depth of the label hierarchy. A root level label's depth is 1, a label with one parent has depth of 2, and so on. Example: 2 #### Response Example { "data": { "id": "oqgkkd-fr5iv4-443db", "type": "labels", "attributes": { "name": "onboarding", "path": ["oqgkkd-fr5iv4-443db","abc123"], "position": 0, "depth": 2 } } } ``` -------------------------------- ### Get Asset with Section Inclusion Source: https://developers.smartsheet.com/api/brandfolder/guides/recipes/sync-media-from-brandfolder.md Retrieve detailed asset information, including its section, by making a GET request to the Brandfolder API. This is useful for validating if an asset belongs to a specific section before syncing. ```http GET https://brandfolder.com/api/v4/assets/?include=section ``` -------------------------------- ### Create Brandfolder Invitation Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/userpermissiontocollection Creates a new invitation for a user to join a specific Brandfolder with a defined permission level. ```APIDOC ## POST /brandfolders/{brandfolder_id}/invitations ### Description Creates a new invitation to invite a user to a specific Brandfolder. The invitation can assign roles such as guest, collaborator, or admin. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/invitations ### Parameters #### Path Parameters - **brandfolder_id** (string) - Required - The ID of the Brandfolder to which the invitation will be sent. #### Request Body *Details about the request body for creating an invitation (e.g., user email, role) are not provided in the source.* ``` -------------------------------- ### Get Organizations Source: https://developers.smartsheet.com/api/brandfolder/openapi/user_permissions/opidapiv4collectionsuserpermissionsbycollectionidget Retrieves a list of all organizations. ```APIDOC ## GET /organizations ### Description Retrieves a list of all organizations within the Brandfolder system. ### Method GET ### Endpoint /organizations ``` -------------------------------- ### Create a section Source: https://developers.smartsheet.com/api/brandfolder/openapi/sections/opidapiv4sectionsget Creates a new section within a specified Brandfolder. You can define the section's name, default asset type, and its display position. ```APIDOC ## Create a section ### Description Creates a section in the matching Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/sections ### Parameters #### Path Parameters - **brandfolder_id** (string) - Required - Unique identifier for the resource instance. #### Headers - **Content-Type** (string) - Required - Value: "application/json" - **Accept** (string) - Required - Value: "application/json" - **Authorization** (string) - Required - Bearer token for authentication #### Request Body - **data** (object) - Required - **data.attributes** (object) - Required - **data.attributes.name** (string) - Required - A name for the section. Example: "My section" - **data.attributes.default_asset_type** (string) - Required - Set this to the type of asset to put in the section. Recommended: `GenericFile`. Enum: "GenericFile", "Color", "Font", "ExternalMedium", "Person", "Press", "Text". Example: "GenericFile" - **data.attributes.position** (integer) - Optional - Set this to a non-negative integer that represents where to display the section relative to other sections. The first position is `0`. Defaults to the next available position. Example: 0 ### Request Example ```json { "data": { "attributes": { "name": "My section", "default_asset_type": "GenericFile", "position": 0 } } } ``` ### Response #### Success Response (200) - **data** (object) - Required - The new section. - **data.id** (string) - Required - Unique identifier for the resource instance. - **data.type** (string) - Required - The type of the resource. Value: "sections" - **data.attributes** (object) - Required - Section attributes. - **data.attributes.name** (string) - The name of the section. - **data.attributes.default_asset_type** (string) - The type of asset the section contains. Enum: "GenericFile", "Color", "Font", "ExternalMedium", "Person", "Press", "Text". - **data.attributes.position** (integer) - A non-negative integer that represents where the section displays relative to other sections. The first position is `0`. #### Response Example (200) ```json { "data": { "id": "oqgkkd-fr5iv4-hh142d", "type": "sections", "attributes": { ... } } } ``` ``` -------------------------------- ### Get All Organizations Source: https://developers.smartsheet.com/api/brandfolder/openapi/tags/opidapiv4assetstagsbyassetidpost Retrieves a list of all organizations. ```APIDOC ## GET /organizations ### Description Retrieves a list of all organizations. ### Method GET ### Endpoint /organizations ### Response #### Success Response (200) (The source text does not specify the response body structure for this endpoint.) ``` -------------------------------- ### Create Webhook Subscription (Alternative) Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/assetattributes Creates a new webhook subscription for a specified event type and Brandfolder. Requires authentication with an API key. ```APIDOC ## POST /webhooks ### Description Creates a new webhook subscription for a specified event type and Brandfolder. ### Method POST ### Endpoint /webhooks ### Request Body - **callback_url** (string) - Required - The URL to send webhook notifications to. - **event_type** (string) - Required - The type of event to subscribe to (e.g., `asset.create`, `asset.update`, `asset.delete`). - **brandfolder_key** (string) - Required - The unique identifier for the Brandfolder. ### Request Example ```json { "callback_url": "https://example.com/webhook-receiver", "event_type": "asset.delete", "brandfolder_key": "brandfolder_key_123" } ``` ### Response #### Success Response (201 Created) - **id** (string) - The unique identifier for the created webhook subscription. - **callback_url** (string) - The URL configured for receiving notifications. - **event_type** (string) - The type of event being monitored. - **brandfolder_key** (string) - The key of the Brandfolder associated with the subscription. #### Response Example ```json { "id": "webhook_subscription_id_789", "callback_url": "https://example.com/webhook-receiver", "event_type": "asset.delete", "brandfolder_key": "brandfolder_key_123" } ``` ``` -------------------------------- ### Get Collections Source: https://developers.smartsheet.com/api/brandfolder/openapi/sections/opidapiv4sectionsbyidget Retrieve a list of collections. ```APIDOC ## GET /brandfolders/{brandfolder_id}/collections ### Description Retrieves a list of collections within a specified Brandfolder. ### Method GET ### Endpoint /brandfolders/{brandfolder_id}/collections ``` ```APIDOC ## GET /collections ### Description Retrieves a list of all accessible collections. ### Method GET ### Endpoint /collections ``` -------------------------------- ### Create a Section Source: https://developers.smartsheet.com/api/brandfolder/openapi/webhooks/opidapiv4webhookssendpost Creates a new section within a specified Brandfolder. Sections help organize assets and define allowed asset types. ```APIDOC ## POST /brandfolders/{brandfolder_id}/sections ### Description Creates a new section within a specified Brandfolder. Sections are used to organize assets and can dictate the types of digital assets that can be uploaded within them. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/sections ### Parameters #### Path Parameters - **brandfolder_id** (string) - Required - The ID of the Brandfolder where the section will be created. ### Request Body *The request body schema is not provided in the source.* ``` -------------------------------- ### GET /webhooks Source: https://developers.smartsheet.com/api/brandfolder/openapi/user_permissions/opidapiv4brandfoldersuserpermissionsbybrandfolderidget Retrieves a list of all webhook subscriptions. ```APIDOC ## GET /webhooks ### Description Retrieves a list of all webhook subscriptions. ### Method GET ### Endpoint /webhooks ``` -------------------------------- ### Create Webhook Subscription (Alternative) Source: https://developers.smartsheet.com/api/brandfolder/openapi/webhooks/opidapiv4webhookspost Allows you to subscribe to events within individual Brandfolders. This endpoint is an alternative to `/webhooks/send` for creating subscriptions. ```APIDOC ## POST /webhooks ### Description Creates a new webhook subscription for specified event types and a callback URL. ### Method POST ### Endpoint /webhooks ### Request Body - **callback_url** (string) - Required - The URL to which event notifications will be sent. - **event_types** (array of strings) - Required - A list of event types to subscribe to (e.g., `["asset.create", "asset.update"]`). ### Request Example { "callback_url": "https://example.com/webhook-receiver", "event_types": ["asset.create", "asset.delete"] } ### Response #### Success Response (200) - **webhook_id** (string) - The unique identifier for the created webhook subscription. #### Response Example { "webhook_id": "c3d4e5f6-a7b8-9012-3456-7890abcdef12" } ``` -------------------------------- ### Get Upload URL Source: https://developers.smartsheet.com/api/brandfolder/openapi/webhooks/opidapiv4webhooksbyiddelete Initiates the binary upload process by providing signed URLs for uploading files to Brandfolder. ```APIDOC ## GET /upload_requests ### Description Retrieves signed URLs for initiating a binary upload. This is the first step in uploading local files to Brandfolder. ### Method GET ### Endpoint /upload_requests ### Parameters None ### Request Example None ### Response #### Success Response (200) - **upload_url** (string) - A signed URL for uploading a file. - **resumable_upload_url** (string) - A signed URL for resumable uploads. - **service_type** (string) - The type of storage service. - **object_url** (string) - The URL where the uploaded asset will be stored. ``` -------------------------------- ### Get Label Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/asset Retrieves details for a specific label. ```APIDOC ## GET /labels/{label_id} ### Description Retrieves the details of a specific label. ### Method GET ### Endpoint /labels/{label_id} ### Parameters #### Path Parameters - **label_id** (string) - Required - The ID of the label. ``` -------------------------------- ### Get Invitation Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/customfieldvalue Retrieves details of a specific invitation. ```APIDOC ## Get Invitation ### Description Retrieves details of a specific invitation. ### Method GET ### Endpoint /invitations/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Unique identifier for the invitation. ### Response #### Success Response (200) - **id** (string) - Unique identifier for the resource instance. - **type** (string) - The type of the resource. Value: "invitations" - **attributes** (object) - Invitation attributes. - **email** (string) - Email address of the recipient. - **permission_level** (string) - Access to grant the recipient. - **personal_message** (string) - A message for the recipient. - **invitation_url** (string) - The invitation's URL. ### Response Example ```json { "id": "a3dlao-hd6so4-7d91d2", "type": "invitations", "attributes": { "email": "test@example.com", "permission_level": "guest", "personal_message": "Welcome to my Brandfolder!", "invitation_url": "https://brandfolder.com/invitations/abc123" } } ``` ``` -------------------------------- ### Initialize Resumable Upload Source: https://developers.smartsheet.com/api/brandfolder/openapi/binary_upload/opidstorageservicebfuploadrequestpost Initiates a resumable upload session. This endpoint should be called first to get a resumable upload URL. ```APIDOC ## POST /resumable_upload_url ### Description Initiates a resumable upload session. This endpoint should be called first to get a resumable upload URL. ### Method POST ### Endpoint /resumable_upload_url ### Header parameters - `x-goog-resumable` (string, required) - Enum: "start" ### Response #### Success Response (201) - `location` (string) - The URL to use for subsequent PUT requests to upload the file content. Example: "https://storageservice.com/bf-upload-request/signed-resumable-upload-url\n" ``` -------------------------------- ### Create a collection Source: https://developers.smartsheet.com/api/brandfolder/openapi.md Creates a new collection within a specified Brandfolder. ```APIDOC ## POST /brandfolders/{brandfolder_id}/collections ### Description Creates a collection in the matching Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/collections ``` -------------------------------- ### Get Label Details Source: https://developers.smartsheet.com/api/brandfolder/openapi/user_permissions/opidapiv4collectionsuserpermissionsbycollectionidget Retrieves details for a specific label. ```APIDOC ## GET /labels/{label_id} ### Description Retrieves the details of a specific label identified by its ID. ### Method GET ### Endpoint /labels/{label_id} ``` -------------------------------- ### Get Attachment Source: https://developers.smartsheet.com/api/brandfolder/openapi/sections/opidapiv4sectionsassetsbysectionidget Retrieves details for a specific attachment by its ID. ```APIDOC ## GET /attachments/{attachment_id} ### Description Retrieves details for a specific attachment by its ID. ### Method GET ### Endpoint /attachments/{attachment_id} ### Parameters #### Path Parameters - **attachment_id** (string) - Required - The ID of the attachment to retrieve. ``` -------------------------------- ### Create a Label Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/label Creates a new label within a specific Brandfolder. ```APIDOC ## Create a Label ### Description Creates a new label within a specific Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/labels ``` -------------------------------- ### Create Brandfolder Invitation Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/attachmentattributes Creates a new invitation for a user to join a specific Brandfolder. Users can be invited as guests, collaborators, or admins. ```APIDOC ## POST /brandfolders/{brandfolder_id}/invitations ### Description Creates a new invitation to a specific Brandfolder. Users can be invited with various permission levels. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/invitations ### Parameters #### Path Parameters - **brandfolder_id** (string) - Required - The ID of the Brandfolder to invite users to. #### Request Body - **email** (string) - Required - The email address of the user to invite. - **role** (string) - Required - The role to assign to the invited user (e.g., `guest`, `collaborator`, `admin`). ``` -------------------------------- ### Get Tags in Collection Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/attachmentattributes Retrieves all tags associated with a collection. ```APIDOC ## GET /collections/{collection_id}/tags ### Description Retrieves all tags associated with a collection. ### Method GET ### Endpoint /collections/{collection_id}/tags ``` -------------------------------- ### Get Organizations Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/attachmentattributes Retrieves a list of all organizations available in the system. ```APIDOC ## GET /organizations ### Description Retrieves a list of all organizations. ### Method GET ### Endpoint /organizations ``` -------------------------------- ### Create an invitation to a Brandfolder Source: https://developers.smartsheet.com/api/brandfolder/openapi.md Creates a new invitation to a specific Brandfolder. ```APIDOC ## POST /brandfolders/{brandfolder_id}/invitations ### Description Creates an invitation to the matching Brandfolder. ### Method POST ### Endpoint /brandfolders/{brandfolder_id}/invitations ``` -------------------------------- ### Get Attachment by ID Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/brandfolder Retrieves a specific attachment by its ID. ```APIDOC ## GET /attachments/{attachment_id} ### Description Retrieves a specific attachment by its ID. ### Method GET ### Endpoint /attachments/{attachment_id} ``` -------------------------------- ### Get Upload URL Source: https://developers.smartsheet.com/api/brandfolder/openapi/schemas/brandfolder Initiates the binary upload process by requesting a pre-signed upload URL. This URL is used to upload files to a temporary storage location before creating the asset in Brandfolder. ```APIDOC ## GET /upload_requests ### Description Retrieves a pre-signed URL for uploading binary files to Brandfolder. ### Method GET ### Endpoint /upload_requests ### Response #### Success Response (200) - **upload_url** (string) - The pre-signed URL for uploading the file. - **resumable_upload_url** (string) - The pre-signed URL for resumable uploads. - **service_type** (string) - The type of storage service being used. - **object_url** (string) - The URL where the uploaded object will be stored. ```