canonical: https://jentic.com/apis/brandfolder.com/brandfolder

# Brandfolder OpenAPI Reference

Brandfolder by Smartsheet is a digital asset management platform whose v4 API exposes 73 endpoints for managing brand assets, attachments, collections, sections, tags, and custom fields. The API is organised around organizations and brandfolders, with assets nested under sections and grouped through collections, and supports both per-asset operations and bulk asset upload. Custom field keys and values let teams attach arbitrary metadata to assets so creative, marketing, and product teams can search and filter the brand library by their own taxonomy. Authentication is a bearer API token scoped to the user's organization.

## For AI agents

List, upload, tag, and search digital assets in a Brandfolder DAM through 73 v4 endpoints, with custom fields and collections for organising brand libraries.

## Scope

Does not handle image editing, video transcoding, or CDN delivery - use for managing brand assets, tags, and custom-field metadata in a Brandfolder DAM only.

## Capabilities

- List the brandfolders in an organization via GET /brandfolders and drill into one with GET /brandfolders/{brandfolder_id}
- Upload new assets into a brandfolder or collection through POST /brandfolders/{brandfolder_id}/assets and POST /collections/{collection_id}/assets
- Tag assets in bulk with POST /assets/{asset_id}/tags and rename or delete tags via PUT/DELETE /tags/{tag_id}
- Define custom field keys per brandfolder and write per-asset values to power custom search facets
- Group assets into collections with POST /brandfolders/{brandfolder_id}/collections and reshape them with PUT/DELETE /collections/{collection_id}
- Manage attachments on an asset (the underlying files) via GET/PUT/DELETE /attachments/{attachment_id}
- Organise assets into sections within a brandfolder using POST /brandfolders/{brandfolder_id}/sections

## Use cases

### Centralised brand asset upload pipeline

Push approved creative from a design tool or CI step into Brandfolder so a single source of truth exists for logos, product images, and marketing collateral. The pipeline calls POST /brandfolders/{brandfolder_id}/assets with the file and metadata, optionally placing the asset in a section, and Brandfolder returns the asset id and attachment record. This removes ad-hoc Dropbox and email handoff and keeps the canonical brand library current.

Example prompt: POST /brandfolders/{brandfolder_id}/assets with name 'spring-campaign-hero', a base64 attachment, and section_id, then return the asset.id from the response.

### Tag-driven asset search for marketing teams

Marketing teams need to retrieve every asset tied to a campaign or product without scrolling the UI. Apply tags through POST /assets/{asset_id}/tags at upload time, then list and filter assets with GET /brandfolders/{brandfolder_id}/assets to surface a campaign's hero images, social cuts, and PDFs in one call. Tag rename and delete operations keep the taxonomy clean as campaigns retire.

Example prompt: GET /brandfolders/{brandfolder_id}/assets with a tag query for 'spring-2026' and return the list of asset.attributes.name and asset.attributes.thumbnail_url.

### Custom-field metadata for licence and rights tracking

Legal and brand teams need to know which assets are licensed, when the licence expires, and which markets each asset can run in. Define custom field keys with POST /brandfolders/{brandfolder_id}/custom_field_keys, then write per-asset values via POST /custom_field_keys/{custom_field_key_id}/custom_field_values. Searches and exports can then filter by licence_expiry or usage_rights without bolting on a separate metadata system.

Example prompt: Create a custom_field_key 'licence_expiry' on a brandfolder, then write the value '2026-12-31' against asset {asset_id} via POST /custom_field_keys/{key_id}/custom_field_values.

### Collection roll-ups for product launches

Pull all assets needed for a specific launch - product photography, hero banners, video stills, datasheets - into a single collection so external agencies and channel partners can be granted scoped access. Create the collection with POST /brandfolders/{brandfolder_id}/collections, then attach assets via POST /collections/{collection_id}/assets. This replaces ad-hoc shared drives for each launch.

Example prompt: POST /brandfolders/{brandfolder_id}/collections with name 'Q3 Launch', then for each provided asset_id call POST /collections/{collection_id}/assets to add it.

### AI agent integration via Jentic

An agent producing campaign content needs to drop final renders into Brandfolder without holding a long-lived API token. Through Jentic, the agent searches by intent, loads the upload-asset operation, and executes it; the bearer token stays in your Jentic One instance and the agent only handles file content and metadata.

Example prompt: Through Jentic, search 'upload a brand asset to a digital asset library', load the create-asset operation, and execute with brandfolder_id, name, and the asset file.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /brandfolders | List the brandfolders the API token can access |
| POST | /brandfolders/{brandfolder_id}/assets | Upload a new asset into a brandfolder |
| GET | /brandfolders/{brandfolder_id}/assets | List or search assets in a brandfolder |
| GET | /assets/{asset_id} | Retrieve a single asset and its metadata |
| POST | /assets/{asset_id}/tags | Tag an asset with one or more labels |
| POST | /brandfolders/{brandfolder_id}/collections | Create a collection inside a brandfolder |
| POST | /brandfolders/{brandfolder_id}/custom_field_keys | Define a custom field key for a brandfolder |

## Key resources

- **Brandfolders** — Top-level brand libraries - list, retrieve, and update via /brandfolders endpoints
- **Assets** — Individual creative assets - upload to a brandfolder or collection, retrieve, update, and delete via /assets endpoints
- **Attachments** — Underlying files attached to an asset - managed through /attachments/{attachment_id}
- **Collections** — Cross-cutting groupings of assets for campaigns, launches, or partners
- **Sections** — Hierarchical buckets within a brandfolder for organising assets by type
- **Tags** — Free-form labels applied to assets for search and filtering
- **Custom fields** — Custom field keys defined per brandfolder with per-asset values for arbitrary metadata

## Why Jentic

- **Setup:** Wiring Brandfolder by hand means attaching the bearer API token to every /api/v4 request and navigating its asset, tag, and custom-field resources yourself. Through Jentic you install once, import the Brandfolder API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Brandfolder puts the resource id in the URL path (/brandfolders/{brandfolder_id}/assets, /assets/{asset_id}/tags), so a rule can pin your agent to one Brandfolder or asset. You choose the operations it may call, so writes like uploading assets or creating custom-field keys are only included if you add them, and a read-only agent can be held to the listing paths.
- **Credential handling:** Your Brandfolder bearer API token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'upload a brand asset' or 'tag an asset', and Jentic returns the matching Brandfolder operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Braze API** — Pull approved Brandfolder assets into Braze message templates for campaign delivery
- **Breeze API** — Attach Brandfolder assets to deals or contacts in the Breeze CRM workflow
- **Breezy HR API** — Pull employer-brand assets from Brandfolder into Breezy job postings and careers pages

## FAQ

### What authentication does the Brandfolder API use?

The v4 API uses an HTTP bearer API token attached as Authorization: Bearer {token}. Through Jentic, the token is stored encrypted and injected at request time, so individual asset uploads or tag updates do not need the agent to handle the raw credential.

### Can I upload assets to Brandfolder through the API?

Yes. POST /brandfolders/{brandfolder_id}/assets uploads a new asset directly into a brandfolder, and POST /collections/{collection_id}/assets adds an asset to a collection. The response includes the new asset.id and attachment.id you can reference in subsequent calls.

### How do I tag assets in Brandfolder via the API?

Call POST /assets/{asset_id}/tags with a list of tag names - Brandfolder creates any that do not exist on the brandfolder. Existing tags can be renamed via PUT /tags/{tag_id} or removed with DELETE /tags/{tag_id} when a campaign retires.

### What are the rate limits for the Brandfolder API?

Brandfolder does not publish a fixed rate limit in the v4 OpenAPI spec; quotas are tied to organization plan. For heavy ingest such as bulk asset upload or large tag operations, batch requests and back off when the API returns 429.

### How do I add custom metadata to an asset with the Brandfolder API through Jentic?

Install with pip install jentic, search for 'add custom field value to asset', load the operation that targets POST /custom_field_keys/{custom_field_key_id}/custom_field_values, and execute with asset_id and value. Jentic handles the bearer token attachment and parameter validation.

### What is the difference between a section and a collection in the Brandfolder API?

Sections are hierarchical buckets inside a brandfolder created with POST /brandfolders/{brandfolder_id}/sections - each asset belongs to exactly one section. Collections, created with POST /brandfolders/{brandfolder_id}/collections, are cross-cutting groupings an asset can join in addition to its section.

### Can I limit what my agent is allowed to do with the Brandfolder API?

Yes. Because Jentic One is self-hosted, your own rules decide which Brandfolder operations and credentials the agent may use. Brandfolder puts the resource id in the URL path, such as /brandfolders/{brandfolder_id}/assets and /assets/{asset_id}/tags, so a rule can pin the agent to a single brandfolder or asset. You choose the operations it can call, so writes like POST /brandfolders/{brandfolder_id}/assets or POST /brandfolders/{brandfolder_id}/custom_field_keys are included only if you add them, and a read-only agent can be held to listing paths like GET /brandfolders/{brandfolder_id}/assets.
