---
title: "Create assets in a collection"
method: POST
path: "/collections/{collection_id}/assets"
tags: ["assets", "collections"]
---

# Create assets in a collection

`POST /collections/{collection_id}/assets`

Creates assets in the matching collection.

Any files you wish to use as an Attachment in Brandfolder must be hosted at
a publicly available URL (until they have been successfully imported). If
you need to upload file contents directly to a server, you can use do a
binary file upload to our temporary storage bucket and then use that URL
when creating Assets/Attachments.

## Request body

- object
  - `data` object, required
    - `attributes` AssetAttributesRequest[], required
      - `name` string, required — The name of the asset.
      - `description` string — The description of the asset.
      - `thumbnail_url` string — The online location of the asset.
      - `approved` boolean — If `true`, this asset is approved; otherwise, it's not.
      - `availability_start` string, date-time — This represents the publish/availability date in Brandfolder, the label `draft` will show.
      - `availability_end` string, date-time — This represents the expiration date in brandfolder, the label `expired` will show.
      - `attachments` object[] — An array of Attachment objects to add to the Asset (these do not overwrite exisiting Attachments).
        - `url` string, required — A fully-formed URL of the file to upload (required for each new Attachment).
        - `filename` string — A complete file name, with extension.
  - `section_key` string, required — ID of the Section in which you want the newly created Asset(s) to live.

## Response `200`

The new assets.

- object
  - `data` Asset[], required
    - `id` string, required — Unique identifier for the resource instance.
    - `type` 'generic_files', required — The type of the resource.
    - `attributes` AssetAttributes, required
      - `name` string — The name of the asset.
      - `description` string — The description of the asset.
      - `thumbnail_url` string — The online location of the asset.
      - `approved` boolean — If `true`, this asset is approved; otherwise, it's not.
  - `meta` PaginationMetadataResponse, required — Page context information.
    - `current_page` integer, required
    - `next_page` object, nullable, required
    - `prev_page` object, nullable, required
    - `total_pages` unknown, required
    - `total_count` unknown, required

## Other responses

- `default` — Generic error payload

---

[API](https://skmtc.net/smartsheet/apis/brandfolder-openapi-reference.md) · [All operations](https://skmtc.net/smartsheet/apis/brandfolder-openapi-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartsheet/brandfolder-openapi-reference/revisions/fd95b0a2d2f8/schema)
