Mediagraph API Documentation (1.2.0)

Download OpenAPI specification:Download

Authentication

Use your Mediagraph account via API with either a Personal Access Token or OAuth Access Token.

Personal Access Tokens

All endpoints using Personal Access Tokens (besides User specifics) require the OrganizationId header, which can be found in "Profile Settings" when logged into the Organization.

curl -u :YOUR_ACCESS_TOKEN \
-H "OrganizationId: 100" \
"https://api.mediagraph.io/api/assets/search?q=sunset"

OAuth Access Tokens

OAuth Access Tokens use the Authorization header and are implicitly associated with the authorized Organization.

curl -H "Authorization: Bearer YOUR_OAUTH_TOKEN" \
"https://api.mediagraph.io/api/assets/search?q=sunset"

OAuth Handshake URLs

StepMethodURL
AuthorizeGET or POSThttps://mediagraph.io/oauth/authorize?response_type=code&client_id=...&redirect_uri=...&state=...
Get TokenPOSThttps://mediagraph.io/oauth/token?grant_type=authorization_code&code=...
Revoke TokenPOSThttps://mediagraph.io/oauth/revoke?token=...

Access Requests

Access Requests allow users to request access to assets. Grants are a special type of access request where an admin grants access to external users. The workflow supports pending, submitted, and finalized states.

List Access Requests

Returns a paginated list of access requests for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by name, email, or user

type
string
Enum: "grant" "request"

Filter by type

aasm_state
string
Enum: "pending" "submitted" "finalized"

Filter by state

submitted
string

Filter submitted requests (use 'all' for all states)

current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Access Request ID

name
string

Request name

aasm_state
string

Current state

is_grant
string

Whether this is a grant

requester_name
string

Requester name

requester_email
string

Requester email

submitted_at
string

Submission timestamp

finalized_at
string

Finalization timestamp

assets_count
string

Number of assets

Response samples

Content type
application/json
[
  • {
    }
]

Create Access Request

Create a new access request or grant. For grants, set is_grant: true and provide requester details.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Access Request ID

code
string

Unique access code

Request samples

Content type
application/json
{
  • "access_request": {
    }
}

Response samples

Content type
application/json
{
  • "id": 74,
  • "user_id": 19908,
  • "workflow_id": null,
  • "aasm_state": "pending",
  • "name": "New Request",
  • "description": null,
  • "submitted_at": null,
  • "finalized_at": null,
  • "finalized_by_id": null,
  • "request_deadline": null,
  • "valid_through": null,
  • "revoked_at": null,
  • "revoked_by_id": null,
  • "requester_email": null,
  • "requester_name": null,
  • "request_lightbox_id": 62580,
  • "grant_lightbox_id": null,
  • "created_at": "2026-01-29T15:27:24.699Z",
  • "updated_at": "2026-01-29T15:27:24.717Z",
  • "requested_assets_count": 1,
  • "granted_assets_count": 0,
  • "note": null,
  • "modified_description": null,
  • "requested_image_and_video_permission": "original",
  • "requested_other_permission": "download",
  • "granted_image_and_video_permission": null,
  • "granted_other_permission": null,
  • "to_destroy": null,
  • "is_grant": false,
  • "agreed_at": null,
  • "code": "e5f6bad2258cabccb62726fa98f3a78e",
  • "user": {
    },
  • "slug": "74-new-request",
  • "managable": true,
  • "finalized_by": null
}

Access Requests Tree

Returns a tree view of access requests grouped by state (pending, submitted, finalized).

Authorizations:
Authorization
query Parameters
parent_id
string
Enum: "pending" "submitted" "finalized"

State to filter by

page
integer

Page number

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Access Request Details

Get details of a specific access request.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Access Request ID

name
string

Request name

description
string

Request description

aasm_state
string

Current state

is_grant
string

Whether this is a grant

requester_name
string

Requester name (for grants)

requester_email
string

Requester email (for grants)

request_deadline
string

Request deadline

valid_through
string

Access valid through date

requested_image_and_video_permission
string

Requested permission level for images/videos

requested_other_permission
string

Requested permission level for other files

granted_image_and_video_permission
string

Granted permission level for images/videos

granted_other_permission
string

Granted permission level for other files

code
string

Unique access code

Response samples

Content type
application/json
{
  • "id": 71,
  • "user_id": 19884,
  • "workflow_id": null,
  • "aasm_state": "pending",
  • "name": "Darmstadtium",
  • "description": null,
  • "submitted_at": null,
  • "finalized_at": null,
  • "finalized_by_id": null,
  • "request_deadline": null,
  • "valid_through": null,
  • "revoked_at": null,
  • "revoked_by_id": null,
  • "requester_email": null,
  • "requester_name": null,
  • "request_lightbox_id": 62507,
  • "grant_lightbox_id": null,
  • "created_at": "2026-01-29T15:27:17.093Z",
  • "updated_at": "2026-01-29T15:27:17.107Z",
  • "requested_assets_count": 1,
  • "granted_assets_count": 0,
  • "note": null,
  • "modified_description": null,
  • "requested_image_and_video_permission": "original",
  • "requested_other_permission": "original",
  • "granted_image_and_video_permission": null,
  • "granted_other_permission": null,
  • "to_destroy": null,
  • "is_grant": false,
  • "agreed_at": null,
  • "code": "de64ceb77c67b9ac4858b51340923bb6",
  • "user": {
    },
  • "slug": "71-darmstadtium",
  • "managable": true,
  • "finalized_by": null
}

Update Access Request

Update an access request. Different fields are editable depending on state.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "access_request": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1579,
  • "id": 75,
  • "user_id": 19920,
  • "workflow_id": null,
  • "aasm_state": "pending",
  • "name": "Updated Request Name",
  • "description": null,
  • "submitted_at": null,
  • "finalized_at": null,
  • "finalized_by_id": null,
  • "request_deadline": null,
  • "valid_through": null,
  • "revoked_at": null,
  • "revoked_by_id": null,
  • "requester_email": null,
  • "requester_name": null,
  • "request_lightbox_id": 62616,
  • "grant_lightbox_id": null,
  • "created_at": "2026-01-29T15:27:29.137Z",
  • "updated_at": "2026-01-29T15:27:29.392Z",
  • "email": null,
  • "code": "d0f3710d9f39024c13e9fae3754d14d5",
  • "modified_description": null,
  • "note": null,
  • "requested_image_and_video_permission": "original",
  • "requested_other_permission": "original",
  • "granted_image_and_video_permission": null,
  • "granted_other_permission": null,
  • "parent_access_request_id": null,
  • "is_grant": false,
  • "agreed_at": null
}

Delete Access Request

Delete a pending access request.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Find Access Request

Find an access request by ID or code. Public users can only find finalized requests by code.

Authorizations:
Authorization
query Parameters
id
required
string

Access request ID or code

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "access_request": {
    },
  • "asset_group": {
    },
  • "editable": true,
  • "managable": true
}

Submit Access Request

Submit a pending access request for review.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 76,
  • "user_id": 19932,
  • "workflow_id": 79,
  • "aasm_state": "submitted",
  • "name": "Chromium",
  • "description": null,
  • "submitted_at": "2026-01-29T15:27:33.214Z",
  • "finalized_at": null,
  • "finalized_by_id": null,
  • "request_deadline": null,
  • "valid_through": null,
  • "revoked_at": null,
  • "revoked_by_id": null,
  • "requester_email": null,
  • "requester_name": null,
  • "request_lightbox_id": 62652,
  • "grant_lightbox_id": null,
  • "created_at": "2026-01-29T15:27:32.947Z",
  • "updated_at": "2026-01-29T15:27:33.233Z",
  • "requested_assets_count": 1,
  • "granted_assets_count": 0,
  • "note": null,
  • "modified_description": null,
  • "requested_image_and_video_permission": "original",
  • "requested_other_permission": "original",
  • "granted_image_and_video_permission": "original",
  • "granted_other_permission": "original",
  • "to_destroy": null,
  • "is_grant": false,
  • "agreed_at": null,
  • "code": "4246ba9d3f302fae0c020e9db57bfbe5",
  • "user": {
    },
  • "slug": "76-chromium",
  • "managable": true,
  • "finalized_by": null
}

Asset Data Versions

Asset Data Versions resources.

Get Asset Data Versions

Get versions for an Asset.

Authorizations:
Authorization
query Parameters
asset_id
integer
Example: asset_id=1403

Asset ID

include_renditions
boolean
Example: include_renditions=true

Include list of downloadable sizes and formats

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[]

Get Asset Data Version Details

Get version details for Asset using the Version number.

Authorizations:
Authorization
query Parameters
asset_id
integer
Example: asset_id=1404

Asset ID

number
integer
Example: number=2

Asset Data Version Number

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1426,
  • "asset_id": 1404,
  • "user_id": 19978,
  • "number": 2,
  • "file_size": null,
  • "width": null,
  • "height": null,
  • "filename": "eaque.csv",
  • "ppi": null,
  • "captured_at": null,
  • "meta": null,
  • "duration": null,
  • "frame_rate": null,
  • "md5": null,
  • "ext": "csv",
  • "created_via": null,
  • "previews_generated_at": null,
  • "thumbs_count": null,
  • "created_at": "2026-01-29T15:27:44.933Z",
  • "updated_at": "2026-01-29T15:27:44.933Z",
  • "thumb_url": null,
  • "is_head": true,
  • "aasm_state": "pending",
  • "user": {
    },
  • "grid_url": null,
  • "type": "Text",
  • "mime_type": "text/csv",
  • "created_via_id": null,
  • "created_via_meta": null,
  • "is_version": true,
  • "storage_folder_path": "corrupti-aut12",
  • "full_url": null
}

Assets

Asset resources.

Search Assets

Searches all Assets you have access to in the Organization. POST is also supported for long lists e.g. Asset IDs.

Authorizations:
Authorization
query Parameters
page
integer
Example: page=1

Current page of assets

per_page
integer
Default: 25

Number of assets per page (max 100)

q
string

Query text

taxonomy_filter_mode
string
Enum: "union" "intersection"

Taxonomy Filter Mode

gps
boolean

Filter Assets containing GPS coordinates.

bounds
string
Example: bounds=36.49097449773101,-106.41286192187499,31.258707788122383,-120.37648496874999

Bounding box with format: ne_lat,ne_lon,sw_lat,sw_lon

include_totals
boolean

Include aggregate counts (aggs) in results

as_filters
boolean

Aggregate counts will be formatted as Filters

include_renditions
boolean

Include list of downloadable sizes and formats

include_meta
boolean

Include all IPTC, EXIF, and XMP metadata (exiftool compatible)

ids
Array of integers

Array of Asset IDs to include.

guids
Array of strings

Array of Asset GUIDs to include.

upload_id
integer

Upload

upload_guid
string

The GUID for the Upload session

storage_folder_id
integer

Storage folder

omit_child_storage_folders
boolean

Omit assets belonging to sub-level Storage Folders (top-level only)

collection_id
integer

Collection

omit_child_collections
boolean

Omit assets belonging to sub-level Collections (top-level only)

lightbox_id
integer

Lightbox

omit_child_lightboxes
boolean

Omit assets belonging to sub-level Lightboxes (top-level only)

lightbox_folder_id
integer

The ID of a Folder ("Bin") within a Lightbox.

omit_child_lightbox_folders
boolean

Omit assets belonging to sub-level Lightboxe Folders (top-level only)

taxonomy
boolean

Taxonomy

hide_taxonomy
boolean

Hide taxonomy

tags
Array of strings

Tags

hide_tags
Array of strings

Hide tags

exts
Array of strings

Exts

has_people
string
Enum: "yes" "no" "untagged"

Has people

has_alt_text
string
Enum: "yes" "no"

Has alt text

file_size_range
string
Enum: "<1" "1-10" "10-50" "50-100" ">100"

File size range

captured_at
Array of strings
Example: captured_at=2021-06-11T21:35:49-07:00,2021-06-25T23:59:59-07:00

Captured At Range

missing_captured_at
boolean

Captured At Missing

created_at
Array of strings
Example: created_at=2021-06-11T21:35:49-07:00,2021-06-25T23:59:59-07:00

Created At Range

updated_at
Array of strings
Example: updated_at=2021-06-11T21:35:49-07:00,2021-06-25T23:59:59-07:00

Last Update Range

snapshot_timestamp
integer
Example: snapshot_timestamp=1625198149000

Timestamp (in milliseconds) to filter assets created before this time, used for consistent pagination

aspect
string
Enum: "square" "portrait" "landscape" "panorama"

Aspect Ratio

proximity_field
string
Enum: "transcript" "description" "content"

Proximity field

proximity_word_1
string

Proximity word 1

proximity_word_2
string

Proximity word 2

proximity_max_gaps
integer

Proximity max gaps

rating
Array of integers[ items [ 0 .. 5 ] ]

Rating range 0-5 (e.g. 'rating[]=3&rating[]=5'), or single value (e.g. 'rating=5')

rights
Array of integers

Array of Rights Package IDs (or 'missing')

rights_code
Array of strings

Array of Rights Codes

user_ids
Array of integers

User ids

creator_tag_id
Array of integers

Creator tag

contracts
boolean

Contracts

releases
boolean

Releases

expired
boolean

Expired

submitted
boolean

Submitted

contract_asset_id
Array of integers

Contract asset

release_ids
Array of integers

Release ids

custom_meta
object

Search Custom Meta Values by name, using an array for controlled vocabulary values, e.g. "custom_meta": {"Custom Field 1 Name": "value 1", "Controlled Vocab Field 2 Name": ["controlled vocab value 1", "controlled vocab value 2"}

no_collections
boolean

No collections

contribution_id
integer

View all Assets from a Contribution Request

my_contribution_id
integer

View my Assets from a Contribution Request

upload_type
string
Enum: "all" "group" "link" "lightbox"

Upload type

view_all
string
Enum: "Collection" "Lightbox"

View all

optimization_request
string
Enum: "none" "requested" "completed"

Optimization Requests

vote
integer [ -1 .. 1 ]

Vote (Like / Dislike)

sort
string
Enum: "filename" "created_at" "captured_at" "file_size" "rating" "custom"

Sort order, add '-asc' or '-desc' for direction

sync
boolean

Sets last_external_sync_at timestamp on returned Assets

aasm_state
string
Enum: "pending" "uploaded" "processing" "processed" "processing_error"

Search by Asset processing state (must have Manage Asset permissions). Defaults to processed unless overridden or upload_id or upload_guid specified. Supports comma delimited list for multiple.

all_ids
boolean

Return all Asset IDs in search results, un-paginated.

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
{}

Asset Details

Get the asset details. ID can also be the Asset GUID.

Authorizations:
Authorization
path Parameters
id
required
integer
query Parameters
sync
boolean

Sets last_external_sync_at timestamp on Asset

include_renditions
boolean
Default: false

Include renditions

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1423,
  • "filename": "amet.jpg",
  • "file_size": null,
  • "guid": "0cf74b82-06c6-433a-8663-cce78bd1cc4d",
  • "short_guid": "0cf74b82",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": false,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": true,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": {
    },
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": 0,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1589,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1432,
  • "user_id": 20114,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:28:32.376Z",
  • "updated_at": "2026-01-29T15:28:32.454Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1589/35590030/0cf74b82-06c6-433a-8663-cce78bd1cc4d-amet.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:28:32.374Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": 12733,
  • "submitted_at": "2026-01-29T03:28:32.374Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": "2026-01-29T15:28:35.444Z",
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "rights_status": "owned",
  • "rights_status_name": "Owned by Organization",
  • "rights_status_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "creator_tag": null,
  • "storage_folder_path": "adipisci-minima33",
  • "tags": [ ],
  • "renditions": [
    ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 1,
  • "up_votes_count": 1,
  • "down_votes_count": 0,
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "rights_package": {
    },
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Update Asset

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object
sync
boolean

Sets last_external_sync_at timestamp on Asset

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "asset": {
    },
  • "sync": true
}

Response samples

Content type
application/json
{
  • "id": 1435,
  • "filename": "et.jpg",
  • "file_size": null,
  • "guid": "231b9198-df24-4fa2-8845-48638a9a7e12",
  • "short_guid": "231b9198",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": "Updated Description.",
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": false,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": true,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": {
    },
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": 0,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1593,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1444,
  • "user_id": 20198,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:29:03.947Z",
  • "updated_at": "2026-01-29T15:29:07.932Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1593/8437d935/231b9198-df24-4fa2-8845-48638a9a7e12-et.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:29:03.945Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": 12765,
  • "submitted_at": "2026-01-29T03:29:03.945Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": "2026-01-29T15:29:08.781Z",
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [
    ],
  • "user": {
    },
  • "rights_status": "owned",
  • "rights_status_name": "Owned by Organization",
  • "rights_status_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "creator_tag": null,
  • "storage_folder_path": "necessitatibus_odit45",
  • "tags": [
    ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 1,
  • "down_votes_count": 0,
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "rights_package": {
    },
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Delete Asset

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Download Asset

Downloads the Asset. Partial downloading is supported using the header: Range: bytes=<start>-<end>

Authorizations:
Authorization
path Parameters
id
required
integer
query Parameters
size
string
Enum: "small" "permalink" "full" "original"

The maximum size requested for assets in the download (default original). To use a specific Crop Preset, use the format size=crop-preset-{id}.

watermarked
boolean

Request watermarked versions

via
string
Example: via=My-Integration

Description of the app or integration making the API call

version_number
integer
Example: version_number=1

Data Version number to download

skip_meta
boolean
Default: false

Do not write metadata on the fly to the file (original file size and MD5 will match)

Responses

Response Schema: image/jpeg
object

Download Asset

The accept-ranges response header will be 'bytes'.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: image/jpeg
object

Add Asset Version

Prepare a new asset version upload using this endpoint, then PUT the data to the returned signed_upload_url, and finally call /api/assets/:id/set_uploaded when the upload is complete.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
signed_upload_url
string

Use this URL to PUT the file data on S3.

Request samples

Content type
application/json
{
  • "asset": {
    }
}

Request Asset Optimization

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1441,
  • "filename": "est.jpg",
  • "file_size": null,
  • "guid": "c044a460-5feb-4831-8c9e-0a63263e604c",
  • "short_guid": "c044a460",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": false,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": true,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": {
    },
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": 0,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1595,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1450,
  • "user_id": 20240,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:29:18.397Z",
  • "updated_at": "2026-01-29T15:29:21.171Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1595/6b22d410/c044a460-5feb-4831-8c9e-0a63263e604c-est.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:29:18.393Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": 12781,
  • "submitted_at": "2026-01-29T03:29:18.393Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": "2026-01-29T15:29:21.166Z",
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": null,
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "rights_status": "owned",
  • "rights_status_name": "Owned by Organization",
  • "rights_status_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "creator_tag": null,
  • "storage_folder_path": "occaecati_dolore51",
  • "tags": [ ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 1,
  • "down_votes_count": 0,
  • "optimization_requested_by": {
    },
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "rights_package": {
    },
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Complete Asset Optimization

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1444,
  • "filename": "quo.jpg",
  • "file_size": null,
  • "guid": "c0f811d5-aae0-47b2-bf66-e0a5d554934d",
  • "short_guid": "c0f811d5",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": false,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": true,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": {
    },
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": 0,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1596,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1453,
  • "user_id": 20261,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:29:25.080Z",
  • "updated_at": "2026-01-29T15:29:28.393Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1596/eaa524f3/c0f811d5-aae0-47b2-bf66-e0a5d554934d-quo.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:29:25.077Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": 12789,
  • "submitted_at": "2026-01-29T03:29:25.077Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": "2026-01-29T15:29:28.389Z",
  • "trashed_at": null,
  • "last_external_sync_at": null,
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "rights_status": "owned",
  • "rights_status_name": "Owned by Organization",
  • "rights_status_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "creator_tag": null,
  • "storage_folder_path": "nihil-maxime54",
  • "tags": [ ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 1,
  • "down_votes_count": 0,
  • "optimization_completed_by": {
    },
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "rights_package": {
    },
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Remove Asset Optimization Request

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1447,
  • "filename": "sint.jpg",
  • "file_size": null,
  • "guid": "e38f7546-db0f-4ca3-9451-5bba117158bc",
  • "short_guid": "e38f7546",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": false,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": true,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": {
    },
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": 0,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1597,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1456,
  • "user_id": 20282,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:29:31.986Z",
  • "updated_at": "2026-01-29T15:29:32.068Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1597/13d4dedd/e38f7546-db0f-4ca3-9451-5bba117158bc-sint.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:29:31.984Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": 12797,
  • "submitted_at": "2026-01-29T03:29:31.984Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": null,
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "rights_status": "owned",
  • "rights_status_name": "Owned by Organization",
  • "rights_status_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "creator_tag": null,
  • "storage_folder_path": "sit-velit57",
  • "tags": [ ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 1,
  • "down_votes_count": 0,
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "rights_package": {
    },
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Set Asset Version

Select the current Asset version by number.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
version
required
integer

Version

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1453,
  • "filename": "magnam.jpg",
  • "file_size": null,
  • "guid": "1a550a04-d8da-4713-9171-8dabef875744",
  • "short_guid": "1a550a04",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": null,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": null,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": null,
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": null,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1598,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1462,
  • "user_id": 20315,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:29:41.997Z",
  • "updated_at": "2026-01-29T15:29:42.488Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1598/5e6a1c84/1a550a04-d8da-4713-9171-8dabef875744-magnam.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:29:41.995Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": null,
  • "submitted_at": "2026-01-29T03:29:41.995Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": null,
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "creator_tag": null,
  • "storage_folder_path": "qui_illum63",
  • "tags": [ ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 2,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 0,
  • "down_votes_count": 0,
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Update Collective Work of Asset

Sets the associated Assets as Collective Work

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
asset_ids
Array of integers

Array of Asset IDs to set.

preview_asset_id
integer

ID of an Image Asset to use as the preview (e.g. rendered preview of an INDD)

remove_preview_asset
boolean

Set to true to remove the preview Asset

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1454,
  • "filename": "et.jpg",
  • "file_size": null,
  • "guid": "d815477b-58bb-4828-9111-872d06b6315c",
  • "short_guid": "d815477b",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": false,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": true,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": {
    },
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": true,
  • "block_level": 0,
  • "rights_package_block_level": 0,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": true,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1599,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": null,
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1463,
  • "user_id": 20328,
  • "aasm_state": "processed",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:29:46.235Z",
  • "updated_at": "2026-01-29T15:29:49.360Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1599/812f478e/d815477b-58bb-4828-9111-872d06b6315c-et.jpg",
  • "time_to_process": 0,
  • "captured_at": "2026-01-28T15:29:46.233Z",
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": null,
  • "created_via_id": null,
  • "vector": false,
  • "rights_package_id": 12813,
  • "submitted_at": "2026-01-29T03:29:46.233Z",
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": null,
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "na",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "rights_status": "owned",
  • "rights_status_name": "Owned by Organization",
  • "rights_status_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "creator_tag": null,
  • "storage_folder_path": "nostrum_et64",
  • "tags": [ ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 1,
  • "down_votes_count": 0,
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "rights_package": {
    },
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_asset_ids": [
    ],
  • "collective_work_ids": [ ]
}

Asset IDs Updated Since Last Sync

Returns all of your created Asset IDs with last_external_sync_at less than updated_at. The timestamp is set in Search, Details, and Update when parameter sync=true.

Authorizations:
Authorization
query Parameters
created_via
string

Service that created the Assets; uses the created_via field e.g. 'lightroom'

last_sync_at
string

Timestamp to include un-synced Assets created after this time

any_user
boolean

Include Assets from any user in the Organization (requires Content Manager or Admin permission)

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • 1466
]

Add Assets to Collection or Lightbox

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
ids
Array of integers

Array of Asset IDs to add.

asset_group_id
integer

ID of Collection or Lightbox

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "count": 2,
  • "added": 2
}

Tag Asset

Update tags on an asset. Supports adding, removing, or replacing tags.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "asset": {
    }
}

Response samples

Content type
application/json
{
  • "tags": [
    ]
}

Asset Auto Tags

Get auto-generated tags (from AI/ML analysis) for an asset.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
auto_tags
string

Array of auto-generated tags with confidence scores

Response samples

Content type
application/json
[ ]

Asset Face Taggings

Get face detection results and their associated person tags for an asset.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
face_taggings
string

Array of detected faces with tag associations

Response samples

Content type
application/json
[ ]

Asset Counts

Get aggregated counts for assets based on the current search/filter criteria.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "type": {
    }
}

Trashed Assets Count

Get the count of trashed assets for the current user/organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "count": 0
}

Popular Assets

Get the most popular/viewed assets. Requires view_popularity_report permission.

Authorizations:
Authorization
query Parameters
dates
Array of strings

Date range for popularity stats

asset_type
string

Filter by asset type

sortField
string

Sort field (views_count, downloads_count, etc.)

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[]

Auto Tags

Auto Tags are automatically generated tags from AI/ML analysis (like AWS Rekognition). They can be converted to regular tags or dismissed.

List Auto Tags

Returns all auto tags for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by name

Responses

Response Schema: application/json
id
string

Auto Tag ID

name
string

Tag name

confidence
string

Confidence score from ML model

Response samples

Content type
application/json
[ ]

Auto Tag Details

Get details of a specific auto tag.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 19,
  • "source": null,
  • "list": null,
  • "name": "test-auto-tag",
  • "created_at": "2026-01-29T15:31:32.302Z",
  • "updated_at": "2026-01-29T15:31:32.302Z",
  • "visible_assets_count": null
}

Delete Auto Tag

Delete/dismiss an auto tag.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Bulk Find Auto Tags

Find multiple auto tags by their names at once.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
tag_names
required
Array of strings

Array of auto tag names to find

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Jobs

Bulk Jobs are used for batch operations on assets such as adding tags, updating metadata, moving assets between folders, and running AI-powered metadata generation.

List Bulk Jobs

Returns a paginated list of the current user's bulk jobs with their progress status.

Authorizations:
Authorization
query Parameters
current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string
Enum: "created_at" "updated_at"

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Bulk Job ID

guid
string

Unique identifier

aasm_state
string

Processing state: pending, processing, processed, errored, canceled

progress
string

Completion percentage (0-100)

total_assets
string

Total number of assets in the job

created_at
string

Creation timestamp

Response samples

Content type
application/json
[ ]

Create Bulk Job

Create a new bulk job to perform batch operations on assets. Specify asset_ids and one or more operations to perform.

Common operations include:

  • Tag Management: Add, remove, or replace tags using tag_names and tag_mode
  • Metadata Updates: Update description, rights package, custom meta fields
  • Asset Organization: Move to folders/collections using add_asset_group_id
  • AI Processing: Run CAI fields using run_custom_meta_field_ids
Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Bulk Job ID

guid
string

Unique identifier for tracking

aasm_state
string

Initial state (pending)

Request samples

Content type
application/json
{
  • "bulk_job": {
    }
}

Response samples

Content type
application/json
{
  • "guid": "161379b2-f858-446c-a293-864ee00973b2",
  • "aasm_state": "pending",
  • "progress": null,
  • "destroy_all": false,
  • "action": "Bulk Asset Edit: Tags",
  • "total_assets": 0,
  • "error_message": null,
  • "warnings": null,
  • "error": null
}

List Processing Bulk Jobs

Returns bulk jobs that are currently in the processing state for the current user.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[ ]

Bulk Job Details

Get details of a specific bulk job by its GUID.

Authorizations:
Authorization
path Parameters
id
required
string

Responses

Response Schema: application/json
id
string

Bulk Job ID

guid
string

Unique identifier

aasm_state
string

Processing state

progress
string

Completion percentage

total_assets
string

Total number of assets

error_message
string

Error message if job failed

warnings
string

Array of warning messages from processing

started_processing_at
string

Timestamp when processing began

finished_processing_at
string

Timestamp when processing completed

Response samples

Content type
application/json
{
  • "guid": "e5d6b39e-d190-4c04-9a88-4a8fc884268f",
  • "aasm_state": "pending",
  • "progress": 0,
  • "destroy_all": false,
  • "action": "Bulk Asset Edit: Meta",
  • "total_assets": 0,
  • "error_message": null,
  • "warnings": null,
  • "error": null
}

Cancel Bulk Job

Cancel a pending or processing bulk job. The job must belong to the current user.

Authorizations:
Authorization
path Parameters
id
required
string

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

CAI Preview

Preview which assets have existing values for specified Composable AI (CAI) custom meta fields. This helps users understand the impact of running AI on assets with or without existing data.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
asset_ids
required
Array of integers

Array of Asset IDs to check

cmf_ids
required
Array of integers

Array of Custom Meta Field IDs to check

Responses

Response Schema: application/json
total_assets
string

Total number of assets checked

total_cmfs
string

Total number of CMF fields checked

counts_by_field
string

Breakdown by field showing assets with/without values

summary
string

Overall summary of assets with/without any values

Response samples

Content type
application/json
{
  • "total_assets": 2,
  • "total_cmfs": 1,
  • "counts_by_field": {
    },
  • "summary": {
    }
}

Bulk Job Assets

Returns a paginated list of assets that were processed by this bulk job.

Authorizations:
Authorization
path Parameters
id
required
string
query Parameters
page
integer
Default: 1

Page number

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
assets
string

Array of asset objects

Response samples

Content type
application/json
[]

Bulk Job Queue Position

Get the current queue position for a pending bulk job. Returns null if the job is not in the queue (already processing or completed).

Authorizations:
Authorization
path Parameters
id
required
string

Responses

Response Schema: application/json
guid
string

Bulk Job GUID

queue_position
string

Position in the processing queue (null if not queued)

queue_depth
string

Total jobs in queue

aasm_state
string

Current processing state

progress
string

Completion percentage

Response samples

Content type
application/json
{
  • "guid": "77dc3cea-35b0-4c00-bfb6-a2a33594accd",
  • "queue_position": null,
  • "queue_depth": null,
  • "aasm_state": "pending",
  • "progress": null
}

Collection Shares

Collection Shares enable federated sharing of Collections between organizations within a Federation. This allows one organization to share their collections with other organizations in the same federation.

Search Collection Shares

Search through shared collections by name.

Authorizations:
Authorization
query Parameters
q
required
string

Search query for collection name

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Collection Shares Tree

Get a tree view of shared collections. When no parent_id is provided, returns shared libraries (organizations sharing with you). When parent_id is provided, returns the children of that collection.

Authorizations:
Authorization
query Parameters
parent_id
integer

Parent collection or organization ID

sub_type
string

Type of parent: 'CollectionShare' for organization root

page
integer

Page number for pagination

Responses

Response Schema: application/json
shared_libraries
string

List of organizations sharing collections (at root level)

collections
string

List of shared collections

Response samples

Content type
application/json
[ ]

Collection Share Details

Get details of a specific collection share.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Collection Share ID

name
string

Custom name for the share

description
string

Description

asset_group_id
string

Source collection ID

Response samples

Content type
application/json
{
  • "id": 42,
  • "name": null,
  • "description": null,
  • "permission_ids_by_user_group": { },
  • "user_id": 20878,
  • "created_at": "2026-01-29T15:32:34.820Z",
  • "updated_at": "2026-01-29T15:32:34.820Z",
  • "permissions": [ ],
  • "organization": {
    }
}

Update Collection Share

Update a collection share configuration, including permissions.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "collection_share": {
    }
}

Response samples

Content type
application/json
{
  • "id": 43,
  • "name": "Updated Share Name",
  • "description": "Updated description",
  • "permission_ids_by_user_group": { },
  • "user_id": 20893,
  • "created_at": "2026-01-29T15:32:39.616Z",
  • "updated_at": "2026-01-29T15:32:39.778Z",
  • "permissions": [ ],
  • "organization": {
    }
}

Delete Collection Share

Remove a collection share. The source collection is not affected.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Collections

Collection resources.

Collections Index

Authorizations:
Authorization
query Parameters
q
string

Search by name

parent_id
integer

Parent Collection ID

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Create Collection

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "collection": {
    }
}

Response samples

Content type
application/json
{
  • "id": 65731,
  • "created_at": "2026-01-29T15:32:56.677Z",
  • "path_names": [
    ],
  • "path_slugs": [
    ],
  • "slug": "test-collection",
  • "sandbox": false,
  • "organizer": null,
  • "type": "Collection",
  • "has_children": false,
  • "parent_id": 65730,
  • "ancestor_ids": [
    ],
  • "permission_ids": [ ],
  • "visible_assets_count": null,
  • "asset_group_id": 65731,
  • "has_workflow_steps": false,
  • "sort_order": null,
  • "featured": false,
  • "sortable": true,
  • "user_group_id": null,
  • "auto_group": null,
  • "view_settings": null,
  • "enable_embargo": false,
  • "embargo_ends_at": null,
  • "embargoed": false,
  • "children_sort_order": null,
  • "parent_children_sort_order": "name-asc",
  • "position": 1,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "has_collection_shares": false,
  • "already_shared_with_current_organization": null,
  • "organization_id": 1642,
  • "organization_slug": "reichert-paucek-and-thompson",
  • "user": {
    },
  • "editable": true,
  • "can_update_assets": true,
  • "name": "Test Collection",
  • "description": null,
  • "permissions": [ ],
  • "workflow_steps": [ ],
  • "collections": [ ],
  • "enable_toc": true,
  • "toc_copy": null,
  • "toc_contact": null,
  • "enable_poster_image": false,
  • "poster_image": null,
  • "links": [ ],
  • "asset_group_admins": [ ],
  • "webhooks": [ ]
}

Collections Tree

For tree traversal. All children of the Parent folder specified by parent_id (or blank for root level) will be returned.

Authorizations:
Authorization
query Parameters
parent_id
integer

ID of parent folder, blank for root level

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Collections Details

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 65695,
  • "created_at": "2026-01-29T15:32:53.901Z",
  • "path_names": [
    ],
  • "path_slugs": [
    ],
  • "slug": "dolore-ipsum145",
  • "sandbox": false,
  • "organizer": false,
  • "type": "Collection",
  • "has_children": false,
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "permission_ids": [ ],
  • "visible_assets_count": 0,
  • "asset_group_id": 65695,
  • "has_workflow_steps": false,
  • "sort_order": null,
  • "featured": false,
  • "sortable": true,
  • "user_group_id": null,
  • "auto_group": null,
  • "view_settings": null,
  • "enable_embargo": false,
  • "embargo_ends_at": null,
  • "embargoed": false,
  • "children_sort_order": null,
  • "parent_children_sort_order": "name-asc",
  • "position": 22,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "has_collection_shares": false,
  • "already_shared_with_current_organization": null,
  • "organization_id": 1641,
  • "organization_slug": "jacobsonmurazik",
  • "user": {
    },
  • "editable": true,
  • "can_update_assets": true,
  • "name": "Michelangelo145",
  • "description": "Expedita cupiditate ipsum. Dolores delectus aspernatur. Aut quia eaque.",
  • "permissions": [ ],
  • "workflow_steps": [ ],
  • "enable_toc": false,
  • "toc_copy": null,
  • "toc_contact": null,
  • "enable_poster_image": true,
  • "poster_image": null,
  • "links": [ ],
  • "asset_group_admins": [ ],
  • "webhooks": [ ]
}

Update Collection

Update collection name, description, and settings.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "collection": {
    }
}

Response samples

Content type
application/json
{
  • "id": 65812,
  • "created_at": "2026-01-29T15:33:03.633Z",
  • "path_names": [
    ],
  • "path_slugs": [
    ],
  • "slug": "updated-collection-name",
  • "sandbox": false,
  • "organizer": false,
  • "type": "Collection",
  • "has_children": false,
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "permission_ids": [ ],
  • "visible_assets_count": null,
  • "asset_group_id": 65812,
  • "has_workflow_steps": false,
  • "sort_order": null,
  • "featured": false,
  • "sortable": true,
  • "user_group_id": null,
  • "auto_group": null,
  • "view_settings": null,
  • "enable_embargo": false,
  • "embargo_ends_at": null,
  • "embargoed": false,
  • "children_sort_order": null,
  • "parent_children_sort_order": "name-asc",
  • "position": 22,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "has_collection_shares": false,
  • "already_shared_with_current_organization": null,
  • "organization_id": 1644,
  • "organization_slug": "bechtelar-and-sons",
  • "user": {
    },
  • "editable": true,
  • "can_update_assets": true,
  • "name": "Updated Collection Name",
  • "description": "Updated description",
  • "permissions": [ ],
  • "workflow_steps": [ ],
  • "enable_toc": false,
  • "toc_copy": null,
  • "toc_contact": null,
  • "enable_poster_image": true,
  • "poster_image": null,
  • "links": [ ],
  • "asset_group_admins": [ ],
  • "webhooks": [ ]
}

Delete Collection

Delete a collection. Assets in the collection are not deleted. The collection is queued for deletion.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Add Asset

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
asset_id
integer

ID of Asset To Add

position
integer

ID of parent folder, blank for root level

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 347,
  • "asset_group_id": 65766,
  • "asset_id": 1525,
  • "user_id": 20964,
  • "created_at": "2026-01-29T15:33:00.812Z",
  • "updated_at": "2026-01-29T15:33:00.812Z",
  • "approval_id": null,
  • "position": 1,
  • "last_lightroom_sync_at": null,
  • "workflow_step_id": null
}

Find Collection by Slug

Find a collection by its slug.

Authorizations:
Authorization
query Parameters
slug
required
string

Collection slug

organization_slug
string

Organization slug (for cross-org lookups)

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 65882,
  • "created_at": "2026-01-29T15:33:09.252Z",
  • "path_names": [
    ],
  • "path_slugs": [
    ],
  • "slug": "expedita-sunt151",
  • "sandbox": false,
  • "organizer": false,
  • "type": "Collection",
  • "has_children": false,
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "permission_ids": [ ],
  • "visible_assets_count": null,
  • "asset_group_id": 65882,
  • "has_workflow_steps": false,
  • "sort_order": null,
  • "featured": false,
  • "sortable": true,
  • "user_group_id": null,
  • "auto_group": null,
  • "view_settings": null,
  • "enable_embargo": false,
  • "embargo_ends_at": null,
  • "embargoed": false,
  • "children_sort_order": null,
  • "parent_children_sort_order": "name-asc",
  • "position": 22,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "has_collection_shares": false,
  • "already_shared_with_current_organization": null,
  • "organization_id": 1646,
  • "organization_slug": "hansen-anderson-and-fisher",
  • "user": {
    },
  • "editable": true,
  • "can_update_assets": true,
  • "name": "Warhol151",
  • "description": "Inventore quos et. Placeat suscipit libero. Explicabo debitis dolorem.",
  • "commentable": true,
  • "commentable_id": 65882,
  • "comments_count": 0
}

Visible Asset Counts

Get the visible asset count for multiple collections at once.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
asset_groups
required
Array of objects

Array of asset group objects with IDs

Responses

Response Schema: application/json
counts
string

Hash of collection ID to asset count

Response samples

Content type
application/json
[
  • {
    }
]

Comments

Comments allow users to have discussions on Lightboxes and Collections. Comments support @mentions and are rendered as markdown.

Note: The index and create endpoints require type and id query parameters to identify the commentable object (Lightbox or Collection).

List Comments

Returns all comments for a specific Lightbox or Collection. Requires type and id parameters to identify the commentable object.

Authorizations:
Authorization
query Parameters
type
required
string

Type of commentable object (Lightbox or Collection)

id
required
integer

ID of the commentable object

Responses

Response Schema: application/json
id
string

Comment ID

text
string

Comment text (markdown)

html
string

Rendered HTML content

user
string

Author information

what_type
string

Type of commented object

what_id
string

ID of commented object

mentioned_user_ids
string

IDs of mentioned users

created_at
string

Creation timestamp

updated_at
string

Last update timestamp

edited_at
string

When comment was edited (if applicable)

Response samples

Content type
application/json
[
  • {
    }
]

Create Comment

Create a new comment on a Lightbox or Collection. Supports markdown formatting and @mentions.

Authorizations:
Authorization
Request Body schema: application/json
type
required
string

Type of commentable object (Lightbox or Collection)

id
required
integer

ID of the commentable object

object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "type": "string",
  • "id": 0,
  • "comment": {
    }
}

Response samples

Content type
application/json
{
  • "id": 13,
  • "text": "Great work on this lightbox!",
  • "html": "<p>Great work on this lightbox!</p>\n",
  • "edited_at": null,
  • "what_id": 65977,
  • "what_type": "AssetGroup",
  • "mentioned_user_ids": "[]",
  • "created_at": "2026-01-29T15:33:17.467Z",
  • "updated_at": "2026-01-29T15:33:17.467Z",
  • "user": {
    },
  • "lightbox": {
    }
}

Update Comment

Update a comment's text. Only the comment author can update their own comments. The edited_at timestamp is automatically set when updating.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "comment": {
    }
}

Response samples

Content type
application/json
{
  • "id": 14,
  • "text": "Updated comment text",
  • "html": "<p>Updated comment text</p>\n",
  • "edited_at": "2026-01-29T15:33:20.107Z",
  • "what_id": 66007,
  • "what_type": "AssetGroup",
  • "mentioned_user_ids": "[]",
  • "created_at": "2026-01-29T15:33:20.088Z",
  • "updated_at": "2026-01-29T15:33:20.109Z",
  • "user": {
    },
  • "lightbox": {
    }
}

Delete Comment

Delete a comment. Only the comment author can delete their own comments.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Contributions

Contributions (Upload Links) allow organizations to receive asset uploads from external contributors. Each contribution can have specific settings for where assets are stored, what metadata is collected, and how uploads are processed.

List Contributions

Returns a paginated list of contribution forms (upload links) for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by contribution name

enabled
Array of strings

Filter by enabled status

featured
Array of strings

Filter by featured status

enable_public
Array of strings

Filter by public visibility

page
integer

Page number

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Contribution ID

name
string

Contribution name

slug
string

URL slug

enabled
string

Whether the contribution is active

featured
string

Whether shown on organization page

enable_public
string

Whether publicly accessible

storage_folder_id
string

Target storage folder for uploads

Response samples

Content type
application/json
[
  • {
    }
]

Create Contribution

Create a new contribution form (upload link).

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Contribution ID

slug
string

Generated URL slug

Request samples

Content type
application/json
{
  • "contribution": {
    }
}

Response samples

Content type
application/json
{
  • "enabled": true,
  • "id": 39295,
  • "name": "New Upload Link",
  • "text": null,
  • "featured": true,
  • "slug": "new-upload-link",
  • "storage_folder_id": 66277,
  • "auto_approve": false,
  • "auto_add": false,
  • "asset_group_id": null,
  • "enable_comprehensive_tagging": false,
  • "request_people_tags": false,
  • "enable_tag_suggester": false,
  • "enable_quick_upload": false,
  • "create_place_name_tags": false,
  • "created_at": "2026-01-29T15:33:41.661Z",
  • "updated_at": "2026-01-29T15:33:41.661Z",
  • "rights_package_ids": [ ],
  • "require_rights_package": false,
  • "require_creator_tag": false,
  • "uploads_count": 0,
  • "assets_count": 0,
  • "user_assets_count": 0,
  • "type": "link",
  • "is_public": false,
  • "notify_emails": [ ],
  • "notify_copy": null,
  • "membership_ids": [ ],
  • "contribution_memberships_count": 0,
  • "enable_public": false,
  • "to_param": "39295-new-upload-link",
  • "tag_names": [ ],
  • "contribution_tag_suggesters_attributes": [ ],
  • "rights_packages": [ ],
  • "storage_folder": {
    },
  • "editable": true,
  • "pending_uploads_count": 0
}

List Featured Contributions

Returns featured contributions that are displayed on the organization's public page.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

List Group Contributions

Returns contributions associated with user groups.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[ ]

List Standalone Link Contributions

Returns standalone contributions (not associated with user groups) that the user has uploaded to.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

List Lightbox Contributions

Returns contributions configured for lightbox uploads.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[ ]

Find Contribution by Slug

Find a contribution by its URL slug.

Authorizations:
Authorization
query Parameters
slug
required
string

Contribution URL slug

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "enabled": true,
  • "id": 39258,
  • "name": "enim",
  • "text": "Rerum laudantium odit. Dolorem quia voluptatibus. Voluptate et quaerat.",
  • "featured": true,
  • "slug": "ipsa_est",
  • "storage_folder_id": 66217,
  • "auto_approve": false,
  • "auto_add": false,
  • "asset_group_id": null,
  • "enable_comprehensive_tagging": false,
  • "request_people_tags": false,
  • "enable_tag_suggester": false,
  • "enable_quick_upload": false,
  • "create_place_name_tags": false,
  • "created_at": "2026-01-29T15:33:36.925Z",
  • "updated_at": "2026-01-29T15:33:36.925Z",
  • "rights_package_ids": [ ],
  • "require_rights_package": false,
  • "require_creator_tag": false,
  • "uploads_count": 0,
  • "assets_count": 0,
  • "user_assets_count": 0,
  • "type": "link",
  • "is_public": false,
  • "notify_emails": [ ],
  • "notify_copy": null,
  • "membership_ids": [ ],
  • "contribution_memberships_count": 0,
  • "enable_public": false,
  • "to_param": "39258-enim",
  • "tag_names": [ ],
  • "contribution_tag_suggesters_attributes": [ ],
  • "rights_packages": [ ],
  • "storage_folder": {
    },
  • "editable": true,
  • "pending_uploads_count": 0
}

Contribution Details

Get details of a specific contribution.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Contribution ID

name
string

Contribution name

slug
string

URL slug

text
string

Description/instructions text

enabled
string

Whether active

featured
string

Whether featured on public page

enable_public
string

Whether publicly accessible

auto_approve
string

Auto-approve uploads

auto_add
string

Auto-add to workflow

storage_folder_id
string

Target storage folder

asset_group_id
string

Target collection/lightbox ID

enable_tag_suggester
string

Show tag suggestions

enable_quick_upload
string

Enable simplified upload UI

require_rights_package
string

Require rights package selection

require_creator_tag
string

Require creator tag

tag_suggesters
string

Available tag suggesters

Response samples

Content type
application/json
{
  • "enabled": true,
  • "id": 39276,
  • "name": "velit",
  • "text": "Minus expedita quisquam. Beatae voluptas sit. Excepturi adipisci incidunt.",
  • "featured": true,
  • "slug": "provident-eaque",
  • "storage_folder_id": 66247,
  • "auto_approve": false,
  • "auto_add": false,
  • "asset_group_id": null,
  • "enable_comprehensive_tagging": false,
  • "request_people_tags": false,
  • "enable_tag_suggester": false,
  • "enable_quick_upload": false,
  • "create_place_name_tags": false,
  • "created_at": "2026-01-29T15:33:39.276Z",
  • "updated_at": "2026-01-29T15:33:39.276Z",
  • "rights_package_ids": [ ],
  • "require_rights_package": false,
  • "require_creator_tag": false,
  • "uploads_count": 0,
  • "assets_count": 0,
  • "user_assets_count": 0,
  • "type": "link",
  • "is_public": false,
  • "notify_emails": [ ],
  • "notify_copy": null,
  • "membership_ids": [ ],
  • "contribution_memberships_count": 0,
  • "enable_public": false,
  • "to_param": "39276-velit",
  • "tag_names": [ ],
  • "contribution_tag_suggesters_attributes": [ ],
  • "rights_packages": [ ],
  • "storage_folder": {
    },
  • "editable": true,
  • "pending_uploads_count": 0
}

Update Contribution

Update an existing contribution configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "contribution": {
    }
}

Response samples

Content type
application/json
{
  • "enabled": false,
  • "id": 39313,
  • "name": "Updated Contribution Name",
  • "text": "Vel est maiores. Est delectus iusto. Magnam distinctio commodi.",
  • "featured": true,
  • "slug": "aut-vero",
  • "storage_folder_id": 66307,
  • "auto_approve": false,
  • "auto_add": false,
  • "asset_group_id": null,
  • "enable_comprehensive_tagging": false,
  • "request_people_tags": false,
  • "enable_tag_suggester": false,
  • "enable_quick_upload": false,
  • "create_place_name_tags": false,
  • "created_at": "2026-01-29T15:33:44.050Z",
  • "updated_at": "2026-01-29T15:33:44.062Z",
  • "rights_package_ids": [ ],
  • "require_rights_package": false,
  • "require_creator_tag": false,
  • "uploads_count": 0,
  • "assets_count": 0,
  • "user_assets_count": 0,
  • "type": "link",
  • "is_public": false,
  • "notify_emails": [ ],
  • "notify_copy": null,
  • "membership_ids": [ ],
  • "contribution_memberships_count": 0,
  • "enable_public": false,
  • "to_param": "39313-updated-contribution-name",
  • "tag_names": [ ],
  • "contribution_tag_suggesters_attributes": [ ],
  • "rights_packages": [ ],
  • "storage_folder": {
    },
  • "editable": true,
  • "pending_uploads_count": 0
}

Delete Contribution

Permanently delete a contribution. Existing uploads are not affected.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Creator Tags

Creator Tags represent photographers, artists, or other content creators. They can be associated with assets to track authorship.

List Creator Tags

Returns all creator tags for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by name

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Creator Tag ID

name
string

Creator name

Response samples

Content type
application/json
[
  • {
    }
]

Create Creator Tag

Create a new creator tag for the organization.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "creator_tag": {
    }
}

Response samples

Content type
application/json
{
  • "id": 39,
  • "name": "John Photographer",
  • "description": null,
  • "user_id": 21162,
  • "linked_user_id": null,
  • "created_at": "2026-01-29T15:33:53.526Z",
  • "updated_at": "2026-01-29T15:33:53.526Z",
  • "user": {
    },
  • "city": null,
  • "country": null,
  • "address_1": null,
  • "postcode": null,
  • "region": null,
  • "email": null,
  • "tel": null,
  • "url": null,
  • "linked_user": null,
  • "editable": true,
  • "links": [ ]
}

Creator Tag Details

Get details of a specific creator tag.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 37,
  • "name": "Ty Fisher DDS",
  • "description": null,
  • "user_id": null,
  • "linked_user_id": null,
  • "created_at": "2026-01-29T15:33:51.185Z",
  • "updated_at": "2026-01-29T15:33:51.185Z",
  • "city": null,
  • "country": null,
  • "address_1": null,
  • "postcode": null,
  • "region": null,
  • "email": null,
  • "tel": null,
  • "url": null,
  • "linked_user": null,
  • "editable": true,
  • "links": [ ]
}

Update Creator Tag

Update a creator tag's information.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "creator_tag": {
    }
}

Response samples

Content type
application/json
{
  • "id": 41,
  • "name": "Updated Creator Name",
  • "description": null,
  • "user_id": null,
  • "linked_user_id": null,
  • "created_at": "2026-01-29T15:33:58.283Z",
  • "updated_at": "2026-01-29T15:33:58.290Z",
  • "city": null,
  • "country": null,
  • "address_1": null,
  • "postcode": null,
  • "region": null,
  • "email": null,
  • "tel": null,
  • "url": null,
  • "linked_user": null,
  • "editable": true,
  • "links": [ ]
}

Delete Creator Tag

Delete a creator tag.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Find Creator Tags

Find creator tags by their IDs.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
ids
Array of integers

Array of creator tag IDs to find

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Crop Presets

Crop Presets define standard crop sizes for asset downloads. Organizations can create named presets with specific dimensions.

List Crop Presets

Returns all crop presets for the organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Crop Preset ID

name
string

Preset name

width
string

Width in pixels

height
string

Height in pixels

Response samples

Content type
application/json
[
  • {
    }
]

Create Crop Preset

Create a new crop preset for the organization.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "crop_preset": {
    }
}

Response samples

Content type
application/json
{
  • "id": 54,
  • "organization_id": 1670,
  • "user_id": 21216,
  • "enabled": true,
  • "name": "Social Media",
  • "width": 1200,
  • "height": 630,
  • "position": 1,
  • "created_at": "2026-01-29T15:34:07.939Z",
  • "updated_at": "2026-01-29T15:34:07.939Z"
}

Crop Preset Details

Get details of a specific crop preset.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 52,
  • "user_id": 21207,
  • "enabled": true,
  • "name": "Faker::Camera",
  • "width": 150,
  • "height": 343,
  • "position": 0,
  • "created_at": "2026-01-29T15:34:05.573Z",
  • "updated_at": "2026-01-29T15:34:05.573Z",
  • "closest_size": "small"
}

Update Crop Preset

Update a crop preset's settings.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "crop_preset": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1671,
  • "name": "Updated Preset Name",
  • "id": 55,
  • "user_id": 21225,
  • "enabled": true,
  • "width": 827,
  • "height": 966,
  • "position": 0,
  • "created_at": "2026-01-29T15:34:10.271Z",
  • "updated_at": "2026-01-29T15:34:10.279Z"
}

Delete Crop Preset

Delete a crop preset.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Update Crop Preset Position

Move a crop preset from one position to another.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
oldIndex
required
integer

Current position index

newIndex
required
integer

New position index

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Custom Meta Fields

Custom Meta Fields allow organizations to define custom metadata schemas for their assets. Fields can be controlled vocabularies (dropdown/multi-select), free text, or AI-powered (CAI - Composable AI) for automated metadata generation.

List Custom Meta Fields

Returns a list of custom meta fields for the organization, optionally filtered by various criteria.

Authorizations:
Authorization
query Parameters
owner_type
string
Default: "Asset"
Enum: "Asset" "AccessRequest"

Filter by owner type

enabled
Array of strings

Filter by enabled status

multi
Array of strings

Filter by multi-select status

free
Array of strings

Filter by free text status

value_type
string
Enum: "text" "number" "date"

Filter by value type

enable_action_menu
Array of strings

Filter by action menu enabled

enable_ai
Array of strings

Filter by AI enabled (CAI fields)

with_color_labels
boolean

Only return fields with color labels

action_menu
boolean

Only return action menu fields

filter_by_role
string

Filter by user role visibility (default: true)

q
string

Search by name or description

Responses

Response Schema: application/json
id
string

Custom Meta Field ID

name
string

Field name

description
string

Field description

free
string

Whether free text input is allowed

multi
string

Whether multiple values can be selected

enabled
string

Whether the field is active

enable_ai
string

Whether AI generation is enabled (CAI)

position
string

Display order position

value_type
string

Value type: text, number, or date

custom_meta_values
string

Available values for controlled vocabularies

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create Custom Meta Field

Create a new custom meta field for the organization.

Value Types:

  • text - Text input (default)
  • number - Numeric input
  • date - Date picker

For Controlled Vocabularies: Set free: false and provide custom_meta_values_attributes with the allowed values.

For AI (CAI) Fields: Set enable_ai: true along with model, prompt, and source_data configuration.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Custom Meta Field ID

Request samples

Content type
application/json
{
  • "custom_meta_field": {
    }
}

Response samples

Content type
application/json
{
  • "id": 4963,
  • "type": null,
  • "free": true,
  • "name": "Project Code",
  • "description": "Internal project identifier",
  • "multi": false,
  • "created_at": "2026-01-29T15:34:24.537Z",
  • "updated_at": "2026-01-29T15:34:24.537Z",
  • "number": 1,
  • "owner_type": null,
  • "required": false,
  • "value_type": "text",
  • "enable_action_menu": false,
  • "enabled": true,
  • "enable_ai": false,
  • "model": null,
  • "prompt": null,
  • "source_data": null,
  • "auto_run": false,
  • "asset_types": [ ],
  • "destination": null,
  • "enable_controlled_vocab_creation": false,
  • "position": 1,
  • "notes": null,
  • "minimum_role_level": null,
  • "user": {
    },
  • "custom_meta_values_attributes": [ ]
}

Custom Meta Field Details

Get details of a specific custom meta field including all values.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Custom Meta Field ID

name
string

Field name

description
string

Field description

free
string

Whether free text is allowed

multi
string

Whether multiple values allowed

enabled
string

Whether field is active

required
string

Whether field is required

enable_ai
string

Whether AI generation is enabled

model
string

AI model ID for CAI fields

prompt
string

AI prompt template for CAI fields

source_data
string

Source data configuration for CAI

destination
string

Destination field for AI output

auto_run
string

Whether to auto-run AI on new assets

asset_types
string

Array of asset types this field applies to

custom_meta_values
string

Available controlled vocabulary values

Response samples

Content type
application/json
{
  • "id": 4958,
  • "type": null,
  • "free": false,
  • "name": "Category",
  • "description": null,
  • "multi": false,
  • "created_at": "2026-01-29T15:34:22.203Z",
  • "updated_at": "2026-01-29T15:34:22.203Z",
  • "number": 4,
  • "owner_type": "Asset",
  • "required": false,
  • "value_type": "text",
  • "enable_action_menu": false,
  • "enabled": true,
  • "enable_ai": false,
  • "model": null,
  • "prompt": null,
  • "source_data": null,
  • "auto_run": false,
  • "asset_types": [ ],
  • "destination": null,
  • "enable_controlled_vocab_creation": false,
  • "position": 4,
  • "notes": null,
  • "minimum_role_level": null,
  • "user": {
    },
  • "custom_meta_values_attributes": [ ]
}

Update Custom Meta Field

Update an existing custom meta field configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "custom_meta_field": {
    }
}

Response samples

Content type
application/json
{
  • "id": 4972,
  • "type": null,
  • "free": false,
  • "name": "Updated Category",
  • "description": "Updated description",
  • "multi": false,
  • "created_at": "2026-01-29T15:34:29.224Z",
  • "updated_at": "2026-01-29T15:34:29.234Z",
  • "number": 4,
  • "owner_type": "Asset",
  • "required": false,
  • "value_type": "text",
  • "enable_action_menu": false,
  • "enabled": true,
  • "enable_ai": false,
  • "model": null,
  • "prompt": null,
  • "source_data": null,
  • "auto_run": false,
  • "asset_types": [ ],
  • "destination": null,
  • "enable_controlled_vocab_creation": false,
  • "position": 4,
  • "notes": null,
  • "minimum_role_level": null,
  • "user": {
    },
  • "custom_meta_values_attributes": [ ]
}

Delete Custom Meta Field

Permanently delete a custom meta field. All associated values on assets will be removed.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Export Field Configuration

Export a custom meta field's configuration as JSON for backup or importing into another organization.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
name
string

Field name

description
string

Field description

settings
string

All field settings

values
string

Controlled vocabulary values

Response samples

Content type
application/json
{
  • "name": "Category",
  • "description": null,
  • "owner_type": "Asset",
  • "free": false,
  • "multi": false,
  • "required": false,
  • "value_type": "text",
  • "enable_action_menu": false,
  • "enable_ai": false,
  • "model": null,
  • "prompt": null,
  • "source_data": null,
  • "destination": null,
  • "auto_run": false,
  • "enable_controlled_vocab_creation": false,
  • "asset_types": [ ],
  • "enabled": true,
  • "notes": null,
  • "minimum_role_level": null,
  • "iptc_field": null,
  • "custom_meta_values": [ ],
  • "exported_at": "2026-01-29T15:34:34Z",
  • "version": 1
}

Import Field Configuration

Import a custom meta field configuration from JSON (previously exported).

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
settings
required
string

Field configuration JSON

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 4985,
  • "type": null,
  • "free": true,
  • "name": "Imported Field",
  • "description": "Imported from another org",
  • "multi": false,
  • "created_at": "2026-01-29T15:34:36.451Z",
  • "updated_at": "2026-01-29T15:34:36.451Z",
  • "number": 5,
  • "owner_type": "Asset",
  • "required": false,
  • "value_type": "text",
  • "enable_action_menu": false,
  • "enabled": true,
  • "enable_ai": false,
  • "model": null,
  • "prompt": null,
  • "source_data": null,
  • "auto_run": false,
  • "asset_types": [ ],
  • "destination": null,
  • "enable_controlled_vocab_creation": false,
  • "position": 5,
  • "notes": null,
  • "minimum_role_level": null,
  • "user": {
    },
  • "custom_meta_values_attributes": [ ]
}

Access Request Fields

Get custom meta fields configured for access requests (owner_type: AccessRequest).

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Downloads

Downloading Assets.

Prepare Download

Supply the size and asset IDs to download to receive the token which can then be used within the next 5 minutes to start the data download. Partial downloading is supported using the header: Range: bytes=<start>-<end>

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
token
string

The unique token that can be used to download the data using the show endpoint

filename
string

The suggested filename to use to save the file locally

Request samples

Content type
application/json
{
  • "download": {
    }
}

Response samples

Content type
application/json
{
  • "token": "e3c30edac839e8a1c6945aa4af09ac62",
  • "filename": "wunsch-inc-mediagraph-download-#21.zip",
  • "integration": null
}

Start Download

Use the token created in the create endpoint to start the streaming data download.

Authorizations:
Authorization
query Parameters
token
string

The token created in the Initiate Download call

Responses

Response Schema: application/zip
object

Filter Groups

Filter Groups allow organizations to save and organize search filter configurations. Users can create named filter groups to quickly apply common search criteria.

List Filter Groups

Returns all filter groups for the organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Filter Group ID

name
string

Filter group name

filters
string

Array of filter configurations

position
string

Display order position

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Filter Group

Create a new filter group with saved filter configurations.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Filter Group ID

Request samples

Content type
application/json
{
  • "filter_group": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1735,
  • "organization_id": 1688,
  • "user_id": 21394,
  • "name": "My Saved Filters",
  • "filters": null,
  • "position": 3,
  • "created_at": "2026-01-29T15:34:58.846Z",
  • "updated_at": "2026-01-29T15:34:58.846Z"
}

Filter Group Details

Get details of a specific filter group.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1732,
  • "organization_id": 1687,
  • "user_id": 21385,
  • "name": "aut",
  • "position": 2,
  • "created_at": "2026-01-29T15:34:56.303Z",
  • "updated_at": "2026-01-29T15:34:56.303Z",
  • "filters": [ ]
}

Update Filter Group

Update a filter group configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "filter_group": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1689,
  • "name": "Updated Filter Group",
  • "id": 1737,
  • "user_id": 21403,
  • "filters": [ ],
  • "position": 2,
  • "created_at": "2026-01-29T15:35:01.247Z",
  • "updated_at": "2026-01-29T15:35:01.257Z"
}

Delete Filter Group

Delete a filter group.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Update Filter Visibility

Update the visibility of a specific filter within a filter group.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
name
required
string

Filter name

type
required
string

Visibility type (explore or manage)

visible
required
string
Enum: "true" "false"

Visibility status

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Ingestions

Ingestions track the status of asset uploads from external sources like cloud storage integrations (Google Drive, Dropbox, etc.).

List Ingestions

Returns all ingestions for the organization.

Authorizations:
Authorization

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Ingestion ID

aasm_state
string

Ingestion state

source
string

Source of the ingestion

Response samples

Content type
application/json
[ ]

Invites

Invites allow organization administrators to invite new users to join their organization. Invites can specify role levels and user group memberships.

List Invites

Returns a paginated list of invites for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by email or role level

aasm_state
string
Enum: "pending" "accepted"

Filter by state

page
integer

Page number

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Invite ID

email
string

Invitee email address

role_level
string

Assigned role level

aasm_state
string

Invite state

token
string

Unique invite token

user_group_ids
string

Assigned user group IDs

Response samples

Content type
application/json
[]

Create Invite

Create a new invite. Multiple email addresses can be provided separated by commas or semicolons.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
invites
string

Array of created invites

Request samples

Content type
application/json
{
  • "invite": {
    }
}

Response samples

Content type
application/json
{
  • "invites": [
    ]
}

Invite Details

Get details of a specific invite.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{}

Update Invite

Update an existing invite before it's accepted.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "invite": {
    }
}

Response samples

Content type
application/json
{}

Delete Invite

Delete/revoke an invite.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Find Invite by Token

Find an invite by its unique token. Used during the accept flow.

Authorizations:
Authorization
query Parameters
token
required
string

Invite token

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 60,
  • "email": "[email protected]",
  • "note": null,
  • "created_at": "2026-01-29T15:35:15.783Z",
  • "updated_at": "2026-01-29T15:35:15.783Z",
  • "aasm_state": "pending",
  • "role_level": "general",
  • "role_level_name": "General",
  • "existing_user_id": null,
  • "user": {
    },
  • "user_email": "[email protected]",
  • "user_groups_count": 0,
  • "user_groups": [ ],
  • "user_group_ids": [ ],
  • "editable": true,
  • "token": "37b86f718603749bf9db98df055fa2fd",
  • "still_valid": true,
  • "organization": {
    }
}

Check Email Availability

Check if an email address is available for invitation (not already invited or a member).

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
email
required
string

Email address to check

Responses

Response Schema: application/json
ok
string

True if email is available

Response samples

Content type
application/json
{
  • "ok": true
}

Available Role Levels

Get the role levels that the current user can assign to invites.

Authorizations:
Authorization

Responses

Response Schema: application/json
role_levels
string

Array of assignable role levels

Response samples

Content type
application/json
[
  • "restricted",
  • "general",
  • "global_tagger",
  • "global_library",
  • "global_content",
  • "admin"
]

Resend Invite

Resend the invite notification email.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Lightboxes

Lightbox resources.

Lightboxes Index

Authorizations:
Authorization
query Parameters
user_id
integer

(Optional) User ID other than Current User. Only available to admins.

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create Lightbox

Create a new lightbox for the current user.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "lightbox": {
    }
}

Response samples

Content type
application/json
{
  • "name": "My New Lightbox",
  • "sub_type": null,
  • "description": null,
  • "created_at": "2026-01-29T15:35:54.353Z",
  • "organizer": false,
  • "type": "Lightbox",
  • "asset_group_id": 67791,
  • "has_workflow_steps": false,
  • "enable_contribution": false,
  • "project_id": null,
  • "commentable": true,
  • "comments_count": 0,
  • "commentable_id": 67791,
  • "sort_order": null,
  • "share_links_count": 0,
  • "sortable": true,
  • "folder_root_id": 67791,
  • "view_settings": null,
  • "always_create_lightroom_assets": false,
  • "last_lightroom_sync_at": null,
  • "reindexing_at": null,
  • "frame_project_id": null,
  • "frame_project_name": null,
  • "frame_team_id": null,
  • "frame_team_name": null,
  • "children_sort_order": null,
  • "organization_id": 1709,
  • "access_request_id": null,
  • "user": {
    },
  • "slug": "67791-my-new-lightbox",
  • "id": 35322,
  • "path_names": [
    ],
  • "path_slugs": [
    ],
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "visible_assets_count": null,
  • "archived": false,
  • "has_uploadable_descendants": false,
  • "editable": true,
  • "can_update_assets": true,
  • "has_children": false,
  • "contribution_id": false,
  • "lightbox_path_slugs": [
    ],
  • "workflow_steps": [ ],
  • "users": [
    ],
  • "links": [ ],
  • "webhooks": [ ]
}

Lightboxes Tree

For tree traversal. All children of the Parent folder specified by parent_id (or blank for root level) will be returned.

Authorizations:
Authorization
query Parameters
parent_id
integer

ID of parent Lightbox, blank for root level

sub_type
string
Value: "folder"

Set to folder when Parent is a Folder (aka "Bin")

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Lightbox Details

Authorizations:
Authorization
query Parameters
id
integer

The ID of your membership to this Lightbox, or ID of a Folder.

sub_type
string
Value: "folder"

Set to folder when Lightbox ID is that of a Folder (aka "Bin")

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "name": "Paul Klee184",
  • "sub_type": null,
  • "description": "Error velit dignissimos. Cumque maiores odit. Eos harum voluptas.",
  • "created_at": "2026-01-29T15:35:47.845Z",
  • "organizer": false,
  • "type": "Lightbox",
  • "asset_group_id": 67729,
  • "has_workflow_steps": false,
  • "enable_contribution": false,
  • "project_id": null,
  • "commentable": true,
  • "comments_count": 0,
  • "commentable_id": 67729,
  • "sort_order": null,
  • "share_links_count": 0,
  • "sortable": true,
  • "folder_root_id": 67729,
  • "view_settings": null,
  • "always_create_lightroom_assets": false,
  • "last_lightroom_sync_at": null,
  • "reindexing_at": null,
  • "frame_project_id": null,
  • "frame_project_name": null,
  • "frame_team_id": null,
  • "frame_team_name": null,
  • "children_sort_order": null,
  • "organization_id": 1707,
  • "access_request_id": null,
  • "user": {
    },
  • "slug": "67729-laborum_minima184",
  • "id": 35290,
  • "path_names": [
    ],
  • "path_slugs": [
    ],
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "visible_assets_count": null,
  • "archived": false,
  • "has_uploadable_descendants": false,
  • "editable": true,
  • "can_update_assets": true,
  • "has_children": true,
  • "contribution_id": false,
  • "lightbox_path_slugs": [
    ],
  • "workflow_steps": [ ],
  • "users": [
    ],
  • "links": [ ],
  • "webhooks": [ ]
}

Update Lightbox

Update a lightbox name, description, or settings. The ID is the asset_group_membership ID for the current user.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "lightbox": {
    }
}

Response samples

Content type
application/json
{
  • "id": 35338,
  • "name": "Updated Lightbox Name",
  • "sub_type": null,
  • "description": "Cumque minus ducimus. Quasi quaerat ut. Voluptas velit earum.",
  • "created_at": "2026-01-29T15:35:57.317Z",
  • "organizer": false,
  • "type": "Lightbox",
  • "inherit_permissions": false,
  • "inherit_upload_ability": false,
  • "expires": false,
  • "expires_at": null,
  • "lock_on_expiration": false,
  • "remove_collaborators_on_expiration": false,
  • "image_and_video_permission": "small",
  • "other_permission": "none",
  • "watermark_all": false,
  • "allow_comments": true,
  • "allow_tagging": false,
  • "allow_edits": false,
  • "allow_invites": true,
  • "invite_link": null,
  • "require_auth": true,
  • "allow_uploads": false,
  • "upload_file_size_limit": null,
  • "enable_contribution": false,
  • "path_names": [
    ],
  • "asset_group_id": 67821,
  • "contribution_id": false,
  • "children_inherit_permissions": true,
  • "share_links_count": 0,
  • "override_permissions": false,
  • "frame_project_id": null,
  • "frame_project_name": null,
  • "frame_team_id": null,
  • "frame_team_name": null,
  • "sync_membership_to_all": true,
  • "sync_permissions_to_all": true,
  • "sync_upload_ability_to_all": true,
  • "inherit_project_members": false,
  • "user": {
    },
  • "slug": "67821-updated-lightbox-name",
  • "asset_group_memberships_attributes": [
    ],
  • "asset_group_invites_attributes": [ ],
  • "contribution_attributes": { },
  • "enable_toc": false,
  • "toc_copy": null,
  • "toc_contact": null,
  • "featured": false,
  • "enable_poster_image": true,
  • "poster_image": null
}

Delete Lightbox

Delete a lightbox. Assets in the lightbox are not deleted. The ID is the asset_group_membership ID for the current user. Only the owner can delete a lightbox.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Transfer Lightbox Ownership

Transfer ownership of a lightbox to another user. The new owner must already be a member of the lightbox.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
user_id
required
integer

New owner user ID (must be existing lightbox member)

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Memberships

Memberships resources. Admin role required.

Memberships Index

Authorizations:
Authorization

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Membership Details

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 11716,
  • "created_at": "2026-01-29T15:36:10.432Z",
  • "updated_at": "2026-01-29T15:36:10.432Z",
  • "aasm_state": "active",
  • "user_group_ids": [ ],
  • "user": {
    },
  • "role_level": "general",
  • "role_level_name": "General",
  • "initials": "C F",
  • "tester": false,
  • "username": "leia",
  • "title": null,
  • "last_login_at": null,
  • "is_owner": false,
  • "otp_required_for_login": null,
  • "can_create_grants": false,
  • "email": "[email protected]",
  • "name": "Cory Feil",
  • "avatar_url": null,
  • "user_groups_count": 0,
  • "user_groups": [ ],
  • "switchable": true
}

Update Membership

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "membership": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1715,
  • "id": 11722,
  • "user_id": 21651,
  • "invite_id": null,
  • "aasm_state": "active",
  • "created_at": "2026-01-29T15:36:13.188Z",
  • "updated_at": "2026-01-29T15:36:13.500Z",
  • "role_level": "global_library",
  • "username": "reid",
  • "title": null,
  • "last_login_at": null,
  • "box_token": null,
  • "box_token_set_at": null,
  • "single_use_token": null,
  • "box_user": null,
  • "grid_color": null,
  • "dropbox_token": null,
  • "dropbox_token_set_at": null,
  • "dropbox_user": null,
  • "google_drive_refresh_token": null,
  • "google_drive_access_token": null,
  • "google_drive_connected_at": null,
  • "google_drive_account": null,
  • "frame_token": null,
  • "frame_token_set_at": null,
  • "frame_account": null,
  • "lightroom_token": null,
  • "lightroom_token_set_at": null,
  • "lightroom_account": null,
  • "lightroom_catalog_id": null,
  • "created_via": null,
  • "rekognition_user_id": null,
  • "face_tag_id": null,
  • "notify_new_membership_requests": true,
  • "can_create_grants": false,
  • "name": "Aron Veum",
  • "initials": "A V",
  • "avatar_url": null,
  • "email": "[email protected]",
  • "user_group_ids": [ ]
}

Update Membership Status

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
status
string
Enum: "active" "deactivated"

Status

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "organization_id": 1716,
  • "id": 11728,
  • "user_id": 21661,
  • "invite_id": null,
  • "aasm_state": "deactivated",
  • "created_at": "2026-01-29T15:36:16.304Z",
  • "updated_at": "2026-01-29T15:36:16.615Z",
  • "role_level": "general",
  • "username": "raymonhegmann",
  • "title": null,
  • "last_login_at": null,
  • "box_token": null,
  • "box_token_set_at": null,
  • "single_use_token": null,
  • "box_user": null,
  • "grid_color": null,
  • "dropbox_token": null,
  • "dropbox_token_set_at": null,
  • "dropbox_user": null,
  • "google_drive_refresh_token": null,
  • "google_drive_access_token": null,
  • "google_drive_connected_at": null,
  • "google_drive_account": null,
  • "frame_token": null,
  • "frame_token_set_at": null,
  • "frame_account": null,
  • "lightroom_token": null,
  • "lightroom_token_set_at": null,
  • "lightroom_account": null,
  • "lightroom_catalog_id": null,
  • "created_via": null,
  • "rekognition_user_id": null,
  • "face_tag_id": null,
  • "notify_new_membership_requests": true,
  • "can_create_grants": false,
  • "name": "Delmer Stroman",
  • "initials": "D S",
  • "avatar_url": null,
  • "email": "[email protected]",
  • "user_group_ids": [ ]
}

Meta Imports

Meta Imports allow bulk updating of asset metadata from CSV/Excel spreadsheets. Users can upload a spreadsheet, map columns to asset fields, and apply the metadata to matching assets.

List Meta Imports

Returns a paginated list of meta imports for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by note or filename

page
integer

Page number

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Meta Import ID

filename
string

Original filename

aasm_state
string

Processing state

rows
string

Number of rows in spreadsheet

matches
string

Number of matched assets

duplicates
string

Number of duplicate matches

Response samples

Content type
application/json
[
  • {
    }
]

Meta Import Details

Get details of a specific meta import including column mappings and match statistics.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
columns
string

Array of column configurations with mappings

match_column
string

Column used for matching assets

match_attribute
string

Asset attribute to match against (filename, guid, created_via_id)

unmatched_values
string

Values that didn't match any assets

Response samples

Content type
application/json
{
  • "id": 56,
  • "user": {
    },
  • "aasm_state": "analyzed",
  • "rows": 1,
  • "matches": 0,
  • "duplicates": 0,
  • "upload_id": null,
  • "asset_id": null,
  • "processed_at": null,
  • "create_unmatched_assets": false,
  • "created_at": "2026-01-29T15:36:21.860Z",
  • "updated_at": "2026-01-29T15:36:21.903Z",
  • "filename": "test_import.csv",
  • "match_column": "filename",
  • "match_attribute": "filename",
  • "partial_match": false,
  • "note": null,
  • "download_url": "http://example.com/test.csv",
  • "parse_error": null,
  • "unmatched_values_size": 0,
  • "columns": [
    ]
}

Update Meta Import

Update meta import settings like match column or partial matching options.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "meta_import": {
    }
}

Response samples

Content type
application/json
{
  • "id": 57,
  • "user": {
    },
  • "aasm_state": "analyzed",
  • "rows": 1,
  • "matches": 0,
  • "duplicates": 0,
  • "upload_id": null,
  • "asset_id": null,
  • "processed_at": null,
  • "create_unmatched_assets": false,
  • "created_at": "2026-01-29T15:36:24.333Z",
  • "updated_at": "2026-01-29T15:36:24.416Z",
  • "filename": "test_import.csv",
  • "match_column": "filename",
  • "match_attribute": "filename",
  • "partial_match": true,
  • "note": "Updated note",
  • "download_url": "http://example.com/test.csv",
  • "parse_error": null,
  • "unmatched_values_size": 0,
  • "columns": [
    ]
}

Delete Meta Import

Delete a meta import. Cannot delete imports that are currently processing or have been processed.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Update Column Mapping

Update the field mapping for a specific column in the meta import.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
column
required
object

Column mapping configuration

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 58,
  • "user": {
    },
  • "aasm_state": "analyzed",
  • "rows": 1,
  • "matches": 0,
  • "duplicates": 0,
  • "upload_id": null,
  • "asset_id": null,
  • "processed_at": null,
  • "create_unmatched_assets": false,
  • "created_at": "2026-01-29T15:36:26.838Z",
  • "updated_at": "2026-01-29T15:36:26.921Z",
  • "filename": "test_import.csv",
  • "match_column": "filename",
  • "match_attribute": "filename",
  • "partial_match": false,
  • "note": null,
  • "download_url": "http://example.com/test.csv",
  • "parse_error": null,
  • "unmatched_values_size": 0,
  • "columns": [
    ]
}

Start Processing

Start processing the meta import to apply metadata to matched assets. The import must be in 'analyzed' state.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Meta Import Assets

Get the list of assets that were updated by this meta import.

Authorizations:
Authorization
path Parameters
id
required
integer
query Parameters
page
integer

Page number

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
asset
string

Asset details

meta
string

Metadata that was applied from the spreadsheet row

Response samples

Content type
application/json
[ ]

Notifications

Notifications inform users about activity in their organization, such as comments, uploads, and workflow updates.

List Notifications

Returns all notifications for the current user in the organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Notification ID

seen_at
string

When the notification was marked as seen

created_at
string

When the notification was created

what
string

The notifiable object

Response samples

Content type
application/json
[ ]

Unseen Notification Count

Returns the count of unseen notifications for the current user.

Authorizations:
Authorization

Responses

Response Schema: application/json
unseen
string

Number of unseen notifications

Response samples

Content type
application/json
{
  • "unseen": 0
}

Organizations

Organization resources.

Find By Slug

Get details about the Organization and your Abilities (https://github.com/stalniy/casl) for it via its slug.

Authorizations:
Authorization
query Parameters
slug
string

The slug of the Organization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "organization": {
    },
  • "abilities": [
    ]
}

Organization details.

Authorizations:
Authorization
query Parameters
id
integer
Example: id=1727

The ID of the Organization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1727,
  • "title": "Cummerata-Bayer",
  • "domain": null,
  • "slug": "cummeratabayer",
  • "created_at": "2026-01-29T15:36:42.414Z",
  • "updated_at": "2026-01-29T15:36:44.423Z",
  • "logo_url": null,
  • "large_logo_url": null,
  • "watermark_url": null,
  • "last_login_at": null,
  • "public_headline": null,
  • "public_text": null,
  • "public_banner_asset_guids": [ ],
  • "login_background_asset_guid": null,
  • "current_role_level_name": null,
  • "lightbox_upload_role_level": "global_content",
  • "stripe_status": "trialing",
  • "custom_pricing": false,
  • "watermark_format": "text",
  • "watermark_opacity": 0.75,
  • "watermark_scale": 1,
  • "watermark_advanced_params": null,
  • "enable_product_info": true,
  • "enable_artwork_or_object": true,
  • "enable_truncated_date_writing": false,
  • "enable_face_tagging": false,
  • "enable_membership_requests": true,
  • "enable_sso": false,
  • "sso_type": null,
  • "encrypt_saml": false,
  • "saml_email_attribute_name": "email",
  • "hide_password_login": false,
  • "stripe_product_code": "enterprise2",
  • "invoicing": false,
  • "minimum_usage": null,
  • "stripe_interval": "year",
  • "storage_tier": 0,
  • "cas_server_url": null,
  • "cas_login_url": null,
  • "sso_groups_field": null,
  • "use_path_for_sso": true,
  • "sso_token": "8af5a679",
  • "plan_has_sso": true,
  • "plan_has_group_content_managers": true,
  • "plan_has_multiple_tag_trees": true,
  • "free": false,
  • "trial_ends_at": "2026-02-28T15:36:44.000Z",
  • "locked": false,
  • "view_settings": null,
  • "reindexing": false,
  • "reindexing_started_at": null,
  • "reindexing_eta": null,
  • "enable_ai": false,
  • "enable_rekognition": false,
  • "enable_general_member_auto_tags": false,
  • "auto_tag_confidence_threshold": 80,
  • "enable_nsfw_detection": false,
  • "omit_auto_tag_results": false,
  • "auto_tag_prompt": null,
  • "cai_enabled": false,
  • "default_timezone": null,
  • "download_filename_format": null,
  • "access_request_notification_emails": [],
  • "access_request_terms": null,
  • "contact_email": null,
  • "contact_address": null,
  • "contact_phone": null,
  • "company_name": null,
  • "overwrite_exif_date": false,
  • "include_taggers_in_admin": false,
  • "default_sort_order": "created_at-desc",
  • "default_landing_page": "explore",
  • "enable_transcription": true,
  • "share_download_role_level": "general",
  • "enable_face_training_mode": false,
  • "medium_download_size": 1200,
  • "sidebar_settings": [
    ],
  • "inactivity_timeout_minutes": 1440,
  • "alt_text_generation_prompt": null,
  • "alt_text_generation_mode": "on",
  • "rights_package_expiration_notify_days": 7,
  • "toc_default_enabled": true,
  • "toc_default_enable_poster_image": false,
  • "enable_help_menu_link": false,
  • "help_menu_link_text": null,
  • "help_menu_link_url": null,
  • "has_bedrock_credentials": false,
  • "member_grant_ids": [ ],
  • "user": {
    },
  • "default_asset_modal_layout": "vertical",
  • "is_owner": true,
  • "role_level": "admin",
  • "role_level_name": "Admin",
  • "user_group_names": [ ],
  • "stripe_details": null,
  • "billing_email": null,
  • "stripe_coupon": null,
  • "stripe_customer_id": "test_cus_21",
  • "stripe_subscription_id": "test_su_22",
  • "bedrock_aws_key": null,
  • "bedrock_aws_secret": null,
  • "bedrock_aws_region": null,
  • "members_with_grant_permission": [ ],
  • "has_public_uploads": false,
  • "has_custom_meta_fields": true,
  • "enable_download_statement": false,
  • "header_background_color": "#000000",
  • "header_text_color": "#ffffff",
  • "header_highlight_color": "#1890ff",
  • "enable_access_requests": false,
  • "quick_info_settings": [
    ],
  • "sidebar_items": [
    ],
  • "banner_assets": [ ]
}

Permissions

Permissions define access levels for user groups to assets. They control what actions users can perform (view, download) and for which asset types (image, video, audio, other).

List Permissions

Returns a list of federation sharing permissions for the organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Permission ID

name
string

Permission name

enabled
string

Whether permission is active

image
string

Access level for images

video
string

Access level for videos

audio
string

Access level for audio

other
string

Access level for other files

watermark
string

Watermark setting

download
string

Download permission level

Response samples

Content type
application/json
[
  • {
    }
]

Create Permission

Create a new permission configuration.

Access Levels:

  • none - No access
  • view - View only
  • download_small - Download small size
  • download_large - Download large size
  • download_original - Download original
Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Permission ID

Request samples

Content type
application/json
{
  • "permission": {
    }
}

Response samples

Content type
application/json
{
  • "id": 21316,
  • "user_group_id": null,
  • "asset_group_id": null,
  • "user_id": null,
  • "name": "New Permission",
  • "image": "download_large",
  • "video": "view",
  • "audio": null,
  • "other": null,
  • "watermark": false,
  • "enabled": true,
  • "auto_permission": null,
  • "created_at": "2026-01-29T15:36:52.715Z",
  • "inherited": null,
  • "federated_organization_id": null
}

Permission Details

Get details of a specific permission.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 21302,
  • "user_group_id": 3516,
  • "asset_group_id": null,
  • "user_id": 21770,
  • "name": "Heller, Schoen and Watsica",
  • "image": "small",
  • "video": "small",
  • "audio": "listen",
  • "other": "view",
  • "watermark": false,
  • "enabled": true,
  • "auto_permission": null,
  • "created_at": "2026-01-29T15:36:50.222Z",
  • "inherited": null,
  • "federated_organization_id": null,
  • "user_group": {
    }
}

Update Permission

Update an existing permission configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "permission": {
    }
}

Response samples

Content type
application/json
{
  • "id": 21329,
  • "user_group_id": 3522,
  • "asset_group_id": null,
  • "user_id": 21788,
  • "name": "Updated Permission Name",
  • "image": "small",
  • "video": "small",
  • "audio": "listen",
  • "other": "view",
  • "watermark": false,
  • "enabled": true,
  • "auto_permission": null,
  • "created_at": "2026-01-29T15:36:55.106Z",
  • "inherited": null,
  • "federated_organization_id": null,
  • "user_group": {
    }
}

Delete Permission

Delete a permission. User groups using this permission will lose those access rights.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Personal Access Tokens

Personal Access Tokens allow users to authenticate API requests without using their session credentials. Tokens can be created for integrations like Lightroom.

List Personal Access Tokens

Returns all personal access tokens for the current user.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Token ID

name
string

Token name

last_used_at
string

Last usage timestamp

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Personal Access Token

Create a new personal access token. The token value is only returned once upon creation.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
token
string

The token value (only shown once)

Request samples

Content type
application/json
{
  • "personal_access_token": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1587,
  • "scopes": null,
  • "note": null,
  • "created_at": "2026-01-29T15:37:05.211Z",
  • "updated_at": "2026-01-29T15:37:05.211Z",
  • "last_used_at": null,
  • "source": null,
  • "organization": null,
  • "asset_group_id": null,
  • "token": "9e616637ab41fc226076f53d3e45a394"
}

Personal Access Token Details

Get details of a specific personal access token.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1584,
  • "scopes": null,
  • "note": null,
  • "created_at": "2026-01-29T15:37:02.629Z",
  • "updated_at": "2026-01-29T15:37:02.629Z",
  • "last_used_at": null,
  • "source": null,
  • "organization": null,
  • "asset_group_id": null
}

Delete Personal Access Token

Revoke and delete a personal access token.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Rights Packages

Rights Packages define usage rights and licensing terms that can be assigned to assets. Each package has a rights class (e.g., Royalty Free, Rights Managed) and can include contracts.

List Rights Packages

Returns all rights packages for the organization.

Authorizations:
Authorization

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Rights Package ID

rights_class
string

Rights classification

enabled
string

Whether package is active

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create Rights Package

Create a new rights package for the organization.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "rights_package": {
    }
}

Response samples

Content type
application/json
{
  • "id": 13944,
  • "organization_id": 1739,
  • "user_id": 21860,
  • "name": "Editorial Use",
  • "description": null,
  • "rights_class": "editorial",
  • "summary": null,
  • "enabled": true,
  • "enable_long_form": false,
  • "long_form_url": null,
  • "long_form": null,
  • "replace_meta_field": false,
  • "meta_field_text": null,
  • "replace_empty_meta_field": false,
  • "reusable": true,
  • "allow_contract_upload": null,
  • "allow_model_release_upload": null,
  • "expires": false,
  • "expires_at": null,
  • "created_at": "2026-01-29T15:37:15.724Z",
  • "updated_at": "2026-01-29T15:37:15.724Z",
  • "watermark": false,
  • "personalize": false,
  • "other_party_name": null,
  • "long_form_type": null,
  • "prevent_download": false,
  • "external_contract_id": null,
  • "external_contract_location": null,
  • "contract_asset_id": null,
  • "default": false,
  • "block_level": 0,
  • "expiration_notification_sent_at": null
}

Rights Package Details

Get details of a specific rights package.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 13934,
  • "name": null,
  • "rights_class": "owned",
  • "rights_class_name": "Owned by Organization",
  • "other_party_name": null,
  • "expires": false,
  • "expires_at": null,
  • "visible_assets_count": null,
  • "meta_field_text": null,
  • "summary": null,
  • "description": null,
  • "rights_class_description": "e.g. employee-created image done as part of job description, or commissioned work done under work for hire contract",
  • "enabled": true,
  • "enable_long_form": false,
  • "long_form_url": null,
  • "long_form": null,
  • "replace_meta_field": false,
  • "replace_empty_meta_field": false,
  • "reusable": true,
  • "allow_contract_upload": null,
  • "allow_model_release_upload": null,
  • "created_at": "2026-01-29T15:37:13.121Z",
  • "watermark": false,
  • "personalize": false,
  • "long_form_type": null,
  • "prevent_download": false,
  • "external_contract_id": null,
  • "external_contract_location": null,
  • "default": false,
  • "block_level": 0,
  • "user": {},
  • "editable": true
}

Update Rights Package

Update a rights package's settings.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "rights_package": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1740,
  • "enabled": false,
  • "id": 13953,
  • "user_id": 21869,
  • "name": null,
  • "description": null,
  • "rights_class": "owned",
  • "summary": null,
  • "enable_long_form": false,
  • "long_form_url": null,
  • "long_form": null,
  • "replace_meta_field": false,
  • "meta_field_text": null,
  • "replace_empty_meta_field": false,
  • "reusable": true,
  • "allow_contract_upload": null,
  • "allow_model_release_upload": null,
  • "expires": false,
  • "expires_at": null,
  • "created_at": "2026-01-29T15:37:18.426Z",
  • "updated_at": "2026-01-29T15:37:18.448Z",
  • "watermark": false,
  • "personalize": false,
  • "other_party_name": null,
  • "long_form_type": null,
  • "prevent_download": false,
  • "external_contract_id": null,
  • "external_contract_location": null,
  • "contract_asset_id": null,
  • "default": false,
  • "block_level": 0,
  • "expiration_notification_sent_at": null
}

Delete Rights Package

Delete a rights package.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Bulk Find Rights Packages

Find multiple rights packages by their IDs at once.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
ids
required
Array of integers

Array of rights package IDs

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Search Queries

Search Queries allow users to save and reuse complex search filters. Saved searches can be quickly accessed and shared. The sql field uses Elasticsearch SQL syntax for the WHERE clause.

List Search Queries

Returns all saved search queries for the current user in the current organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Search Query ID

name
string

Search name

description
string

Search description

sql
string

SQL WHERE clause (Elasticsearch SQL syntax)

json_logic
string

JSON Logic representation of the query

user_id
string

Owner user ID

created_at
string

Creation timestamp

updated_at
string

Last update timestamp

Response samples

Content type
application/json
[
  • {
    }
]

Create Search Query

Save a new search query for future use. The sql field should contain an Elasticsearch SQL WHERE clause.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "search_query": {
    }
}

Response samples

Content type
application/json
{
  • "id": 21,
  • "user_id": 21914,
  • "json_logic": null,
  • "name": "New Saved Search",
  • "description": "Find pending assets",
  • "sql": "aasm_state = 'pending'",
  • "created_at": "2026-01-29T15:37:31.900Z",
  • "updated_at": "2026-01-29T15:37:31.900Z"
}

Search Query Details

Get details of a specific saved search query.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 19,
  • "user_id": 21905,
  • "json_logic": null,
  • "name": "My Saved Search",
  • "description": "Find all processed images",
  • "sql": "aasm_state = 'processed'",
  • "created_at": "2026-01-29T15:37:29.330Z",
  • "updated_at": "2026-01-29T15:37:29.330Z"
}

Update Search Query

Update a saved search query's name or description. Note: The SQL query cannot be changed after creation.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "search_query": {
    }
}

Response samples

Content type
application/json
{
  • "id": 22,
  • "user_id": 21923,
  • "json_logic": null,
  • "name": "Updated Search Name",
  • "description": "Updated description",
  • "sql": "aasm_state = 'processed'",
  • "created_at": "2026-01-29T15:37:34.430Z",
  • "updated_at": "2026-01-29T15:37:34.446Z"
}

Delete Search Query

Delete a saved search query.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

List Share Links

Returns a paginated list of share links for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by asset group name or user email

dates
Array of strings

Filter by date range

image_and_video_permission
string

Filter by image/video permission level

other_permission
string

Filter by other file permission level

enabled
string
Enum: "true" "false"

Filter by enabled status

expired
string
Enum: "true" "false"

Filter by expired status

current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Schema: application/json
id
string

Share Link ID

code
string

Unique share link code

url
string

Public share link URL

enabled
string

Whether the share link is active

expires_at
string

Expiration date if set

image_and_video_permission
string

Permission level for images/videos

other_permission
string

Permission level for other file types

Response samples

Content type
application/json
[
  • {
    }
]

List Share Links for Asset Group

Returns share links for a specific Collection, Lightbox, or Storage Folder.

Authorizations:
Authorization
path Parameters
asset_group_id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Create Share Link

Create a new share link for a Collection, Lightbox, or Storage Folder.

Permission Levels for Images/Videos:

  • view - View only (no download)
  • download_small - Allow small size downloads
  • download_large - Allow large size downloads
  • download_original - Allow original file downloads

Permission Levels for Other Files:

  • view - View only
  • download - Allow downloads
Authorizations:
Authorization
path Parameters
asset_group_id
required
integer

Responses

Response Schema: application/json
id
string

Created Share Link ID

code
string

Unique share link code

url
string

Public share link URL

Response samples

Content type
application/json
{
  • "id": 47,
  • "user_id": 21968,
  • "asset_group_id": 69061,
  • "enabled": true,
  • "code": "5262c2d53c17e23f",
  • "image_and_video_permission": "small",
  • "watermark_all": true,
  • "other_permission": "none",
  • "note": null,
  • "created_at": "2026-01-29T15:37:47.488Z",
  • "user": {
    },
  • "expires": false,
  • "expires_at": null,
  • "expired": false,
  • "downloads_count": null,
  • "asset_views_count": null,
  • "assets_count": null,
}

Share Link Details

Get details of a specific share link.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Share Link ID

code
string

Unique share link code

url
string

Public share link URL

enabled
string

Whether the share link is active

expires_at
string

Expiration date if set

expired
string

Whether the link has expired

image_and_video_permission
string

Permission for images/videos: view, download_small, download_large, download_original

other_permission
string

Permission for other files: view, download

watermark_all
string

Whether to watermark all downloads

note
string

Internal note

asset_group_id
string

Associated asset group ID

downloads_count
string

Number of times assets were downloaded

views_count
string

Number of times the link was viewed

Response samples

Content type
application/json
{
  • "id": 45,
  • "user_id": 21959,
  • "asset_group_id": 69031,
  • "enabled": true,
  • "code": "a6dd4913f5146bc0",
  • "image_and_video_permission": "small",
  • "watermark_all": true,
  • "other_permission": "none",
  • "note": null,
  • "created_at": "2026-01-29T15:37:44.811Z",
  • "user": {
    },
  • "expires": false,
  • "expires_at": null,
  • "expired": false,
  • "downloads_count": null,
  • "asset_views_count": null,
  • "assets_count": null,
  • "asset_group": {
    }
}

Update Share Link

Update an existing share link configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "share_link": {
    }
}

Response samples

Content type
application/json
{
  • "id": 48,
  • "user_id": 21977,
  • "asset_group_id": 69091,
  • "enabled": false,
  • "code": "0acf6cf038d31879",
  • "image_and_video_permission": "small",
  • "watermark_all": true,
  • "other_permission": "none",
  • "note": "Updated note",
  • "created_at": "2026-01-29T15:37:50.563Z",
  • "user": {
    },
  • "expires": false,
  • "expires_at": null,
  • "expired": false,
  • "downloads_count": null,
  • "asset_views_count": null,
  • "assets_count": null,
  • "asset_group": {
    }
}

Delete Share Link

Permanently delete a share link.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Shares

Shares allow you to create public links to share assets or collections externally. Shares can be configured with different sizes, watermarks, and download permissions.

List Shares

Returns a paginated list of shares created in the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by share name, asset filename, GUID, or user email

asset_id
integer

Filter by asset ID

asset_group_id
integer

Filter by asset group (Collection/Lightbox) ID

user_id
integer

Filter by user ID who created the share

current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Share ID

code
string

Unique share code

name
string

Share name

url
string

Public share URL

enabled
string

Whether the share is active

enable_download
string

Whether download is enabled

size
string

Asset size for the share

watermarked
string

Whether assets are watermarked

assets_count
string

Number of assets in the share

Response samples

Content type
application/json
[
  • {
    }
]

Create Share

Create a new share with specified assets or from an asset group (Collection/Lightbox).

Size Options:

  • small - Small thumbnail
  • medium - Medium sized preview
  • full - Full resolution (no original metadata)
  • original - Original file with metadata
Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Share ID

code
string

Unique share code

url
string

Public share URL

Request samples

Content type
application/json
{
  • "share": {
    }
}

Response samples

Content type
application/json
{}

Update Share

Update an existing share configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "share": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1756,
  • "id": 49,
  • "user_id": 22019,
  • "asset_group_id": null,
  • "size": "full",
  • "watermarked": false,
  • "enabled": false,
  • "aasm_state": "processed",
  • "name": "Updated Share Name",
  • "note": null,
  • "code": "b4a2253b18055927",
  • "created_at": "2026-01-29T15:38:05.336Z",
  • "updated_at": "2026-01-29T15:38:05.348Z",
  • "gallery_type": null,
  • "crop_preset_id": null,
  • "message": null,
  • "enable_download": false,
  • "show_email": true,
  • "show_banner": true,
  • "direct_link": null
}

Delete Share

Permanently delete a share. The public URL will no longer work.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

StorageFolders

Storage Folders resources.

Storage Folders Index

Authorizations:
Authorization
query Parameters
publish_user_id
integer

Filter by Publish User ID; for Lightroom Publish Connections

publish_type
string
Value: "lightroom"

Filter by Publish Type

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create Storage Folder

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "storage_folder": {
    }
}

Response samples

Content type
application/json
{
  • "id": 69465,
  • "created_at": "2026-01-29T15:38:27.108Z",
  • "name": "Test Folder",
  • "description": null,
  • "slug": "test-folder",
  • "organizer": null,
  • "type": "StorageFolder",
  • "sub_type": null,
  • "has_children": false,
  • "path_names": [
    ],
  • "parent_id": 69464,
  • "ancestor_ids": [
    ],
  • "visible_assets_count": null,
  • "path_slugs": [
    ],
  • "asset_group_id": 69465,
  • "has_workflow_steps": false,
  • "contribution_id": 41066,
  • "enable_contribution": true,
  • "sort_order": null,
  • "box_folder_id": null,
  • "box_folder_name": null,
  • "publish_user_id": null,
  • "publish_user": null,
  • "publish_type": null,
  • "dropbox_folder_id": null,
  • "dropbox_folder_name": null,
  • "frame_project_id": null,
  • "frame_project_name": null,
  • "frame_team_id": null,
  • "frame_team_name": null,
  • "lightroom_publish_service_id": null,
  • "view_settings": null,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "google_drive_folder_id": null,
  • "google_drive_folder_name": null,
  • "children_sort_order": null,
  • "user": {
    },
  • "editable": true,
  • "workflow_steps": [ ],
  • "block_destroy": false,
  • "total_file_size": 0,
  • "links": [ ],
  • "webhooks": [ ]
}

Storage Folders Tree

For tree traversal. All children of the Parent folder specified by parent_id (or blank for root level) will be returned.

Authorizations:
Authorization
query Parameters
parent_id
integer

ID of parent folder, blank for root level

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Storage Folder Asset IDs

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • 1534,
  • 1535
]

Storage Folder Details

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 69429,
  • "created_at": "2026-01-29T15:38:23.966Z",
  • "name": "Titian207",
  • "description": "Libero voluptates sit. Veritatis ratione perferendis. Et ut velit.",
  • "slug": "dolorem_error207",
  • "organizer": false,
  • "type": "StorageFolder",
  • "sub_type": null,
  • "has_children": false,
  • "path_names": [
    ],
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "visible_assets_count": null,
  • "path_slugs": [
    ],
  • "asset_group_id": 69429,
  • "has_workflow_steps": false,
  • "contribution_id": 41045,
  • "enable_contribution": true,
  • "sort_order": null,
  • "box_folder_id": null,
  • "box_folder_name": null,
  • "publish_user_id": null,
  • "publish_user": null,
  • "publish_type": null,
  • "dropbox_folder_id": null,
  • "dropbox_folder_name": null,
  • "frame_project_id": null,
  • "frame_project_name": null,
  • "frame_team_id": null,
  • "frame_team_name": null,
  • "lightroom_publish_service_id": null,
  • "view_settings": null,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "google_drive_folder_id": null,
  • "google_drive_folder_name": null,
  • "children_sort_order": null,
  • "user": {
    },
  • "editable": true,
  • "workflow_steps": [ ],
  • "block_destroy": false,
  • "total_file_size": 0,
  • "links": [ ],
  • "webhooks": [ ]
}

Update Storage Folder

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "storage_folder": {
    }
}

Response samples

Content type
application/json
{
  • "id": 69500,
  • "created_at": "2026-01-29T15:38:30.762Z",
  • "name": "Test Folder Edit",
  • "description": "Veritatis nobis consequatur. Molestiae sint recusandae. Non non dolorem.",
  • "slug": "test-folder-edit",
  • "organizer": false,
  • "type": "StorageFolder",
  • "sub_type": null,
  • "has_children": false,
  • "path_names": [
    ],
  • "parent_id": null,
  • "ancestor_ids": [ ],
  • "visible_assets_count": null,
  • "path_slugs": [
    ],
  • "asset_group_id": 69500,
  • "has_workflow_steps": false,
  • "contribution_id": 41086,
  • "enable_contribution": true,
  • "sort_order": null,
  • "box_folder_id": null,
  • "box_folder_name": null,
  • "publish_user_id": null,
  • "publish_user": null,
  • "publish_type": null,
  • "dropbox_folder_id": null,
  • "dropbox_folder_name": null,
  • "frame_project_id": null,
  • "frame_project_name": null,
  • "frame_team_id": null,
  • "frame_team_name": null,
  • "lightroom_publish_service_id": "lr-catalog-id",
  • "view_settings": null,
  • "last_lightroom_sync_at": null,
  • "created_via": null,
  • "created_via_id": null,
  • "reindexing_at": null,
  • "google_drive_folder_id": null,
  • "google_drive_folder_name": null,
  • "children_sort_order": null,
  • "user": {
    },
  • "editable": true,
  • "workflow_steps": [ ],
  • "block_destroy": false,
  • "total_file_size": 0,
  • "links": [ ],
  • "webhooks": [ ]
}

Delete Storage Folder

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Taggings

Taggings represent the association between tags and assets. They can also be associated with detected faces for person tagging.

Tagging Details

Get details of a specific tagging.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Tagging ID

asset_id
string

Associated asset ID

tag_id
string

Associated tag ID

Response samples

Content type
application/json
{
  • "tagged_by": {
    },
  • "taxonomy_path_names": [ ]
}

Delete Tagging

Remove a tagging (untag an asset).

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Tags

Tag resources.

Tags Index

Authorizations:
Authorization
query Parameters
q
string

Search query

page
integer

Page

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Create Tag

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "tag": {
    }
}

Response samples

Content type
application/json
{
  • "id": 310,
  • "name": "New Tag",
  • "list": "visible",
  • "created_at": "2026-01-29T15:38:56.120Z",
  • "sub_type": "keyword",
  • "user": {
    },
  • "in_taxonomy": false,
  • "taxonomy_path_names": [ ]
}

Tag Details

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "tag_id": 308,
  • "id": 308,
  • "list": "searchable",
  • "name": "jbbuucqppe",
  • "created_at": "2026-01-29T15:38:52.783Z",
  • "in_taxonomy": false,
  • "taxonomy_path_names": [ ],
  • "visible_assets_count": null,
  • "sub_type": "keyword",
  • "date_start": null,
  • "date_end": null,
  • "location_country": null,
  • "location_country_code": null,
  • "location_state": null,
  • "location_city": null,
  • "location_name": null,
  • "related_tag_names": [ ],
  • "featured_organization_name": null,
  • "is_lead_tag": false,
  • "lead_tag_id": null,
  • "thumb_url": null,
  • "artwork_creator": null,
  • "artwork_date_created": null,
  • "artwork_medium": null,
  • "artwork_style_period": null,
  • "artwork_source": null,
  • "artwork_inventory_number": null,
  • "artwork_copyright_notice": null,
  • "user": {
    },
  • "links": [ ],
  • "set_synonym_at": null,
  • "set_synonym_by_id": null
}

Update Tag

Accepts all parameters from Create endpoint.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "tag": {
    }
}

Response samples

Content type
application/json
{
  • "id": 311,
  • "name": "New Tag Edit",
  • "description": null,
  • "link": null,
  • "user_id": 22191,
  • "list": "searchable",
  • "content": null,
  • "created_at": "2026-01-29T15:38:58.617Z",
  • "updated_at": "2026-01-29T15:38:58.628Z",
  • "taxonomy_names": [ ],
  • "tag_id": 311,
  • "visible_assets_count": null,
  • "sub_type": "keyword",
  • "date_start": null,
  • "date_end": null,
  • "location_country": null,
  • "location_country_code": null,
  • "location_state": null,
  • "location_city": null,
  • "location_name": null,
  • "related_tag_names": [ ],
  • "featured_organization_name": null,
  • "is_lead_tag": false,
  • "lead_tag_id": null,
  • "main_face_id": null,
  • "thumb_url": null,
  • "artwork_creator": null,
  • "artwork_date_created": null,
  • "artwork_medium": null,
  • "artwork_style_period": null,
  • "artwork_source": null,
  • "artwork_inventory_number": null,
  • "artwork_copyright_notice": null,
  • "in_taxonomy": false,
  • "editable": true,
  • "set_synonym_at": null,
  • "set_synonym_by_id": null
}

Delete tag

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Bulk Find Tags

Find multiple tags by their names at once.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
names
required
Array of strings

Array of tag names to find

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[ ]

Tag Events

Get recent tag activity events for the organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[ ]

Add Tag to Taxonomy

Add a tag to a taxonomy as a taxonomy tag.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
taxonomy_id
required
integer

Taxonomy ID to add tag to

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "list": "visible",
  • "id": 315,
  • "name": "juhkgkkdpf",
  • "created_at": "2026-01-29T15:39:10.008Z",
  • "sub_type": "keyword",
  • "user": {
    },
  • "in_taxonomy": true,
  • "taxonomy_path_names": [
    ]
}

Merge Tag Into Another

Merge this tag into another tag. All taggings will be moved to the target tag and this tag will be deleted.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
tag_2_id
required
integer

ID of the tag to merge into

set_synonym
boolean

Set source tag as synonym of target

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Taxonomies

Taxonomy resources.

Taxonomies Index

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create Taxonomy

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "taxonomy": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1833,
  • "organization_id": 1778,
  • "name": "Main Taxonomy",
  • "description": null,
  • "user_id": 22267,
  • "created_at": "2026-01-29T15:39:21.809Z",
  • "updated_at": "2026-01-29T15:39:21.809Z",
  • "user": {
    },
  • "user_group_ids": [ ],
  • "taxonomy_tag_roots": [ ],
  • "editable": true,
  • "user_groups": [ ]
}

Taxonomy Details

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1830,
  • "organization_id": 1777,
  • "name": "quisquam",
  • "description": null,
  • "user_id": 22266,
  • "created_at": "2026-01-29T15:39:19.074Z",
  • "updated_at": "2026-01-29T15:39:19.074Z",
  • "user": {
    },
  • "user_group_ids": [ ],
  • "taxonomy_tag_roots": [ ],
  • "editable": true,
  • "user_groups": [ ]
}

Update Taxonomy

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "taxonomy": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1835,
  • "organization_id": 1779,
  • "name": "Main Taxonomy Edit",
  • "description": null,
  • "user_id": 22286,
  • "created_at": "2026-01-29T15:39:24.495Z",
  • "updated_at": "2026-01-29T15:39:24.505Z",
  • "user": {
    },
  • "user_group_ids": [ ],
  • "taxonomy_tag_roots": [ ],
  • "editable": true,
  • "user_groups": [ ]
}

Delete Taxonomy

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

TaxonomyTags

Taxonomy Tag resources.

Taxonomy Tags Index

Authorizations:
Authorization
query Parameters
taxonomy_id
required
integer

Taxonomy ID

q
string

Search query

page
integer

Page

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Taxonomy Tag

Authorizations:
Authorization
Request Body schema: application/json
taxonomy_id
required
integer

Taxonomy ID

object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "taxonomy_id": 0,
  • "taxonomy_tags": {
    }
}

Response samples

Content type
application/json
{
  • "id": 40,
  • "organization_id": 1784,
  • "created_at": "2026-01-29T15:39:40.427Z",
  • "has_children": false,
  • "ancestor_ids": [
    ],
  • "parent_id": 39,
  • "name": "Test Tag",
  • "path_names": [
    ],
  • "description": null,
  • "link": null,
  • "user": {
    },
  • "visible_assets_count": null,
  • "organizer": false,
  • "date_start": null,
  • "date_end": null,
  • "location_country": null,
  • "location_state": null,
  • "location_city": null,
  • "location_name": null,
  • "featured_organization_name": null,
  • "related_tag_names": [ ],
  • "is_lead_tag": false,
  • "lead_tag_id": null,
  • "gtin": null,
  • "sku": null,
  • "sub_type": "keyword",
  • "artwork_creator": null,
  • "artwork_date_created": null,
  • "artwork_medium": null,
  • "artwork_style_period": null,
  • "artwork_source": null,
  • "artwork_inventory_number": null,
  • "artwork_copyright_notice": null,
  • "poster_image_guid": null,
  • "thumb_url": null,
  • "slug": "Test Tag (#40)",
  • "tag": {
    }
}

Taxonomy Tags Tree

For tree traversal. All children of the Parent Taxonomy Tag specified by parent_id (or blank for root level) will be returned.

Authorizations:
Authorization
query Parameters
taxonomy_id
required
integer

Taxonomy ID

parent_id
integer

ID of parent Taxonomy Tag, blank for root level

page
integer

Page

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Taxonomy Tag Details

Authorizations:
Authorization
path Parameters
id
required
integer
query Parameters
taxonomy_id
required
integer

Taxonomy ID

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 38,
  • "organization_id": 1783,
  • "created_at": "2026-01-29T15:39:37.214Z",
  • "has_children": false,
  • "ancestor_ids": [ ],
  • "parent_id": null,
  • "name": "pxtcemqsvo",
  • "path_names": [
    ],
  • "description": null,
  • "link": null,
  • "user": {
    },
  • "visible_assets_count": null,
  • "organizer": false,
  • "date_start": null,
  • "date_end": null,
  • "location_country": null,
  • "location_state": null,
  • "location_city": null,
  • "location_name": null,
  • "featured_organization_name": null,
  • "related_tag_names": [ ],
  • "is_lead_tag": false,
  • "lead_tag_id": null,
  • "gtin": null,
  • "sku": null,
  • "sub_type": "keyword",
  • "artwork_creator": null,
  • "artwork_date_created": null,
  • "artwork_medium": null,
  • "artwork_style_period": null,
  • "artwork_source": null,
  • "artwork_inventory_number": null,
  • "artwork_copyright_notice": null,
  • "poster_image_guid": null,
  • "thumb_url": null,
  • "slug": "pxtcemqsvo (#38)",
  • "tag": {
    }
}

Update Taxonomy Tag

Accepts all parameters from Create endpoint.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
taxonomy_id
required
integer

Taxonomy ID

object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "taxonomy_id": 0,
  • "taxonomy_tags": {
    }
}

Response samples

Content type
application/json
{
  • "id": 41,
  • "organization_id": 1785,
  • "created_at": "2026-01-29T15:39:43.844Z",
  • "has_children": false,
  • "ancestor_ids": [ ],
  • "parent_id": null,
  • "name": "Test Tag Edit",
  • "path_names": [
    ],
  • "description": null,
  • "link": null,
  • "user": {
    },
  • "visible_assets_count": null,
  • "organizer": false,
  • "date_start": null,
  • "date_end": null,
  • "location_country": null,
  • "location_state": null,
  • "location_city": null,
  • "location_name": null,
  • "featured_organization_name": null,
  • "related_tag_names": [ ],
  • "is_lead_tag": false,
  • "lead_tag_id": null,
  • "gtin": null,
  • "sku": null,
  • "sub_type": "keyword",
  • "artwork_creator": null,
  • "artwork_date_created": null,
  • "artwork_medium": null,
  • "artwork_style_period": null,
  • "artwork_source": null,
  • "artwork_inventory_number": null,
  • "artwork_copyright_notice": null,
  • "poster_image_guid": null,
  • "thumb_url": null,
  • "slug": "Test Tag Edit (#41)",
  • "tag": {
    }
}

Delete Taxonomy Tag

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
taxonomy_id
required
integer

Taxonomy ID

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Uploads

Uploading Assets.

Create Upload Session From Contribution

Create the Upload container within the Contribution that will receive the uploaded Assets.

Authorizations:
Authorization
Request Body schema: application/json
object
contribution_id
integer

Contribution ID these uploaded Assets will go into.

Responses

Response Schema: application/json
guid
string

The Upload GUID to be used when uploading Assets

Request samples

Content type
application/json
{
  • "upload": {
    },
  • "contribution_id": 0
}

Response samples

Content type
application/json
{
  • "id": 1547,
  • "user_id": 22373,
  • "guid": "ca39f11b",
  • "name": "Test Upload",
  • "note": "API docs upload test",
  • "aasm_state": null,
  • "created_at": "2026-01-29T15:39:51.514Z",
  • "updated_at": "2026-01-29T15:39:51.514Z",
  • "current_assets_count": 0,
  • "assets_count": 0,
  • "tag_names": [ ],
  • "default_rights_package_id": null,
  • "done": false,
  • "done_at": null,
  • "standalone": true,
  • "contribution_id": 41495,
  • "agreed_at": null,
  • "creator": null,
  • "other_creator": null,
  • "all_requirements_met": false,
  • "tag_suggesters_met": true,
  • "rights_packages_met": true,
  • "creator_tags_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "contribution": {
    },
  • "user": {
    },
  • "aws_key": "AKIATBO5XF4E4UM4N247",
  • "bucket": "tandemvault-asset-uploads-development",
  • "ftp_username": "[email protected]",
  • "ftp_password": "1d6eb1e1",
  • "ftp_url": "sftp://fran%40stroman.info:[email protected]/mediagraph-ftp-dev-2/1787/39e9f2d5"
}

Prepare Asset Upload

Prepare the Asset to be uploaded to S3. Use the signed_upload_url response attribute to then upload via PUT. E.g: curl -v --upload-file path/to/file.jpg "{signed_upload_url}". Then use the /set_uploaded endpoint once the data upload to S3 is complete. Note that the signed_upload_url is only valid for 1 hour.

Authorizations:
Authorization
path Parameters
guid
required
string

Upload GUID created in the prior step.

Request Body schema: application/json
object

Responses

Response Schema: application/json
signed_upload_url
string

Use this URL to PUT the file data on S3.

Request samples

Content type
application/json
{
  • "asset": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1538,
  • "filename": "test.jpg",
  • "file_size": 10000,
  • "guid": "826b12f7-ca17-40be-909e-6514f03f3a5e",
  • "short_guid": "826b12f7",
  • "type": "Image",
  • "ext": "jpg",
  • "duration": null,
  • "md5": null,
  • "mime_type": "image/jpeg",
  • "thumb_url": null,
  • "grid_url": null,
  • "small_url": null,
  • "description": null,
  • "width": null,
  • "height": null,
  • "ppi": null,
  • "expired": null,
  • "expires_at": null,
  • "release": false,
  • "contract": false,
  • "released": false,
  • "has_people": null,
  • "headline": null,
  • "title": null,
  • "credit_line": null,
  • "event": null,
  • "city": null,
  • "state": null,
  • "country": null,
  • "sublocation": null,
  • "featured_organization_name": null,
  • "usage_terms": null,
  • "content_preview": null,
  • "has_transcript": false,
  • "transcription_job_status": null,
  • "creator": [ ],
  • "vote": null,
  • "nsfw_detected": false,
  • "data_version_number": 1,
  • "preview_type": "Image",
  • "downloadable_previews": false,
  • "block_level": 0,
  • "rights_package_block_level": null,
  • "max_block_level": 0,
  • "textract_retrieved_at": null,
  • "submitted": false,
  • "preview_image_url": null,
  • "checked_out_at": null,
  • "frame_asset_id": null,
  • "frame_status": null,
  • "alt_text": null,
  • "organization_id": 1788,
  • "has_alpha": false,
  • "downloadable": true,
  • "original_downloadable": true,
  • "editable": true,
  • "manageable": true,
  • "rights_editable": true,
  • "rights_manageable": true,
  • "taggable": true,
  • "description_editable": true,
  • "has_document_url": false,
  • "has_pdf_url": false,
  • "rating": null,
  • "path": "",
  • "catalogue_number": null,
  • "upload_finished_at": null,
  • "upload_started_at": null,
  • "processing_started_at": null,
  • "upload_id": 1548,
  • "user_id": 22383,
  • "aasm_state": "pending",
  • "processing_finished_at": null,
  • "processing_error": null,
  • "processing_progress": null,
  • "file_type": null,
  • "created_at": "2026-01-29T15:39:54.860Z",
  • "updated_at": "2026-01-29T15:39:55.008Z",
  • "s3_upload_id": null,
  • "s3_upload_key": "1788/3e8f7f53/826b12f7-ca17-40be-909e-6514f03f3a5e-test.jpg",
  • "time_to_process": null,
  • "captured_at": null,
  • "captured_at_truncation": null,
  • "captured_at_offset": null,
  • "notes": null,
  • "created_via": "api",
  • "created_via_id": "external-file-id",
  • "vector": false,
  • "rights_package_id": null,
  • "submitted_at": null,
  • "latitude": null,
  • "longitude": null,
  • "optimization_requested_at": null,
  • "optimization_completed_at": null,
  • "trashed_at": null,
  • "last_external_sync_at": null,
  • "auto_tags_retrieved_at": null,
  • "rekognition_faces_requested_at": null,
  • "rekognition_faces_retrieved_at": null,
  • "face_indexing_state": "pending",
  • "faces_searched_at": null,
  • "bedrock_retrieved_at": null,
  • "custom_meta_values": [ ],
  • "user": {
    },
  • "creator_tag": null,
  • "storage_folder_path": "qui-modi214",
  • "tags": [ ],
  • "aspect": null,
  • "transcript": null,
  • "transcript_version": null,
  • "vtt_url": null,
  • "transcript_output_json_url": null,
  • "has_ocr_content": null,
  • "description_writer": null,
  • "country_code": null,
  • "iptc_event_id": null,
  • "organization_in_image_name": null,
  • "extended_description": null,
  • "iptc_job_id": null,
  • "intellectual_genre": null,
  • "scene": null,
  • "subject_code": null,
  • "instructions": null,
  • "iptc_rights": null,
  • "web_statement": null,
  • "model_release_status": null,
  • "property_release_status": null,
  • "authors_position": null,
  • "iptc_source": null,
  • "copyright_owner": null,
  • "iptc_dig_image_guid": null,
  • "image_supplier": null,
  • "iptc_image_supplier_image_id": null,
  • "licensor": null,
  • "addl_model_info": null,
  • "iptc_model_release_id": null,
  • "model_age": null,
  • "minor_model_age_disclosure": null,
  • "iptc_property_release_id": null,
  • "product_in_image": null,
  • "artwork_or_object": null,
  • "has_published_images": false,
  • "data_versions_count": 1,
  • "trashed_by": null,
  • "creator_contact_info": null,
  • "auto_tags_count": 0,
  • "checked_in_at": null,
  • "checkout_integration": null,
  • "bedrock_prompt": null,
  • "bedrock_data": null,
  • "downloads_count": 0,
  • "views_count": 0,
  • "up_votes_count": 0,
  • "down_votes_count": 0,
  • "pdf_url": false,
  • "meta_structs": [ ],
  • "links": [ ],
  • "permalink_url": null,
  • "full_url": null,
  • "download_sizes": [
    ],
  • "storage_folder": {
    },
  • "collections": [ ],
  • "lightboxes": [ ],
  • "available_rights_packages": [
    ],
  • "upload": {
    },
  • "all_requirements_met": true,
  • "tag_suggesters_met": true,
  • "rights_package_met": true,
  • "creator_tag_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "collective_work_ids": [ ]
}

Set Upload Session Done

(Optional) Call once all Assets have been uploaded. Will submit each Asset in background.

Authorizations:
Authorization
path Parameters
id
required
integer

The Upload ID

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 1549,
  • "assets_count": 1,
  • "unsubmitted_assets_count": 0,
  • "all_requirements_met": true,
  • "done": false,
  • "done_at": null,
  • "tag_suggesters_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "rights_packages_met": true,
  • "creator_tags_met": true
}

Create Upload Session Without Contribution

Create an Upload container in the default Storage Folder; only to be used when a Contribution is not available.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
guid
string

The Upload GUID to be used when uploading Assets

Request samples

Content type
application/json
{
  • "upload": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1550,
  • "user_id": 22406,
  • "guid": "1538df52",
  • "name": "Test Upload",
  • "note": "API docs upload test",
  • "aasm_state": null,
  • "created_at": "2026-01-29T15:40:01.040Z",
  • "updated_at": "2026-01-29T15:40:01.040Z",
  • "current_assets_count": 0,
  • "assets_count": 0,
  • "tag_names": [ ],
  • "default_rights_package_id": null,
  • "done": false,
  • "done_at": null,
  • "standalone": false,
  • "contribution_id": 41538,
  • "agreed_at": null,
  • "creator": null,
  • "other_creator": null,
  • "all_requirements_met": false,
  • "tag_suggesters_met": true,
  • "rights_packages_met": true,
  • "creator_tags_met": true,
  • "unmet_tag_suggester_ids": [ ],
  • "contribution": {
    },
  • "user": {
    },
  • "aws_key": "AKIATBO5XF4E4UM4N247",
  • "bucket": "tandemvault-asset-uploads-development",
  • "ftp_username": "[email protected]",
  • "ftp_password": "ce87757c",
  • "ftp_url": "sftp://waylon.denesik%40kessler.co:[email protected]/mediagraph-ftp-dev-2/1790/3806092a"
}

User Groups

User Groups allow organizations to organize members into groups with shared permissions. Groups can have associated collections, storage folders, and contribution settings.

List User Groups

Returns a paginated list of user groups for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by name or invite domain

aasm_state
string

Filter by state

assignable
boolean

Only return assignable groups (no auto groups)

omit_public
boolean

Exclude public group

current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

User Group ID

name
string

Group name

description
string

Group description

is_open
string

Whether anyone can join

auto_group
string

Auto group type if system-generated

members_count
string

Number of members

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Create User Group

Create a new user group with specified settings and permissions.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created User Group ID

Request samples

Content type
application/json
{
  • "user_group": {
    }
}

Response samples

Content type
application/json
{
  • "id": 3651,
  • "name": "New Group",
  • "description": "A test group",
  • "is_open": false,
  • "invite_emails": null,
  • "invite_note": null,
  • "invite_domain": null,
  • "enable_home_collection": false,
  • "collection_id": null,
  • "storage_folder_id": null,
  • "enable_storage_folder_content_admin": false,
  • "enable_storage_folder": false,
  • "sandbox_collection_id": null,
  • "enable_sandbox_collection": false,
  • "sandbox_collection_admin_role_level": null,
  • "sandbox_collection_children_inherit": true,
  • "auto_add_approved_to_sandbox": false,
  • "auto_approve": false,
  • "require_rights_package": false,
  • "enable_contract_uploads": false,
  • "aasm_state": "active",
  • "created_at": "2026-01-29T15:40:10.339Z",
  • "updated_at": "2026-01-29T15:40:10.339Z",
  • "enable_contribution": false,
  • "contribution_id": null,
  • "auto_group": null,
  • "enable_content_managers": false,
  • "enable_library_managers": false,
  • "enable_taggers": false,
  • "home_collection_admin_role_level": null,
  • "home_collection_children_inherit": true,
  • "memberships_count": 0,
  • "permissions": [ ],
  • "sso_name": [ ],
  • "destroyable": true,
  • "user": {
    },
  • "permissions_attributes": [ ],
  • "home_collection_permission_ids": [ ],
  • "membership_ids": [ ],
  • "content_manager_ids": [ ],
  • "library_manager_ids": [ ],
  • "tagger_ids": [ ],
  • "invites_attributes": [ ]
}

User Group Details

Get details of a specific user group including permissions and settings.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

User Group ID

name
string

Group name

description
string

Group description

is_open
string

Whether open for joining

enable_contribution
string

Whether group has upload form

enable_home_collection
string

Whether home collection is enabled

collection_id
string

Home collection ID

enable_storage_folder
string

Whether storage folder access is enabled

storage_folder_id
string

Associated storage folder ID

permissions
string

Array of permissions

memberships
string

Array of group members

Response samples

Content type
application/json
{
  • "id": 3647,
  • "name": "Import and Export",
  • "description": null,
  • "is_open": false,
  • "invite_emails": null,
  • "invite_note": null,
  • "invite_domain": null,
  • "enable_home_collection": false,
  • "collection_id": null,
  • "storage_folder_id": 70391,
  • "enable_storage_folder_content_admin": false,
  • "enable_storage_folder": true,
  • "sandbox_collection_id": null,
  • "enable_sandbox_collection": false,
  • "sandbox_collection_admin_role_level": null,
  • "sandbox_collection_children_inherit": true,
  • "auto_add_approved_to_sandbox": false,
  • "auto_approve": false,
  • "require_rights_package": false,
  • "enable_contract_uploads": false,
  • "aasm_state": "active",
  • "created_at": "2026-01-29T15:40:07.226Z",
  • "updated_at": "2026-01-29T15:40:07.226Z",
  • "enable_contribution": false,
  • "contribution_id": null,
  • "auto_group": null,
  • "enable_content_managers": false,
  • "enable_library_managers": false,
  • "enable_taggers": false,
  • "home_collection_admin_role_level": null,
  • "home_collection_children_inherit": true,
  • "memberships_count": 0,
  • "permissions": [ ],
  • "sso_name": [ ],
  • "destroyable": true,
  • "user": {
    },
  • "storage_folder": {
    },
  • "group_memberships": [ ]
}

Update User Group

Update an existing user group configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "user_group": {
    }
}

Response samples

Content type
application/json
{
  • "id": 3654,
  • "name": "Updated Group Name",
  • "description": "Updated description",
  • "is_open": false,
  • "invite_emails": null,
  • "invite_note": null,
  • "invite_domain": null,
  • "enable_home_collection": false,
  • "collection_id": null,
  • "storage_folder_id": 70453,
  • "enable_storage_folder_content_admin": false,
  • "enable_storage_folder": true,
  • "sandbox_collection_id": null,
  • "enable_sandbox_collection": false,
  • "sandbox_collection_admin_role_level": null,
  • "sandbox_collection_children_inherit": true,
  • "auto_add_approved_to_sandbox": false,
  • "auto_approve": false,
  • "require_rights_package": false,
  • "enable_contract_uploads": false,
  • "aasm_state": "active",
  • "created_at": "2026-01-29T15:40:13.705Z",
  • "updated_at": "2026-01-29T15:40:13.737Z",
  • "enable_contribution": false,
  • "contribution_id": null,
  • "auto_group": null,
  • "enable_content_managers": false,
  • "enable_library_managers": false,
  • "enable_taggers": false,
  • "home_collection_admin_role_level": null,
  • "home_collection_children_inherit": true,
  • "memberships_count": 0,
  • "permissions": [ ],
  • "sso_name": [ ],
  • "destroyable": true,
  • "user": {
    },
  • "storage_folder": {
    },
  • "permissions_attributes": [ ],
  • "home_collection_permission_ids": [ ],
  • "membership_ids": [ ],
  • "content_manager_ids": [ ],
  • "library_manager_ids": [ ],
  • "tagger_ids": [ ],
  • "invites_attributes": [ ]
}

Delete User Group

Delete a user group. Members are not deleted but lose group-based permissions.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Current User

Who Am I

Get your User details from your Personal Access Token or OAuth Access Token.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 22460,
  • "first_name": "Bob",
  • "last_name": "Balistreri",
  • "default_username": "sanfordgibson",
  • "email": "[email protected]",
  • "confirmed_at": "2026-01-29T15:40:17.028Z",
  • "created_at": "2026-01-29T15:40:17.029Z",
  • "otp_required_for_login": null,
  • "can_create_orgs": false,
  • "timezone": null,
  • "guest": null,
  • "guest_email": null,
  • "lang": null,
  • "enable_lightroom": true,
  • "avatar_url": null,
  • "name": "Bob Balistreri",
  • "initials": "B B",
  • "user_group_ids": [ ],
  • "last_organization": null,
  • "title": null,
  • "user_id": 22460,
  • "oauth_token": null,
  • "membership": null,
  • "organization": null
}

Can I Upload?

Check if the User is able to upload assets and create Storage Folders.

Authorizations:
Authorization

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "can_upload": true,
  • "can_create_storage_folders": true,
  • "can_view_storage_folders": true
}

Webhooks

Webhooks allow you to receive real-time HTTP notifications when events occur in Mediagraph, such as asset uploads, metadata changes, or collection updates.

List Webhooks

Returns a paginated list of webhooks configured for the organization.

Authorizations:
Authorization
query Parameters
q
string

Search by webhook name, URL, or asset group name

enabled
Array of strings

Filter by enabled status

current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string
Enum: "created_at" "name" "url"

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Webhook ID

name
string

Webhook name

url
string

Destination URL

enabled
string

Whether the webhook is active

events
string

Events that trigger this webhook

Response samples

Content type
application/json
[
  • {
    }
]

Create Webhook

Create a new webhook to receive event notifications.

Available Events:

  • asset.created - Asset uploaded
  • asset.updated - Asset metadata changed
  • asset.deleted - Asset moved to trash
  • asset.restored - Asset restored from trash
  • collection.updated - Collection modified
Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
id
string

Created Webhook ID

Request samples

Content type
application/json
{
  • "webhook": {
    }
}

Response samples

Content type
application/json
{
  • "id": 86,
  • "organization_id": 1800,
  • "user_id": 22498,
  • "name": "My Integration Webhook",
  • "note": null,
  • "asset_group_id": 70647,
  • "events": "asset.created,asset.updated",
  • "include_download_url": false,
  • "created_at": "2026-01-29T15:40:31.733Z",
  • "updated_at": "2026-01-29T15:40:31.733Z",
  • "enabled": true,
  • "group_assets": true,
  • "trash": false
}

Webhook Details

Get details of a specific webhook.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
id
string

Webhook ID

name
string

Webhook name

url
string

Destination URL

enabled
string

Whether the webhook is active

events
string

Events that trigger this webhook

asset_group_id
string

Asset group ID if scoped to a specific collection/folder

include_download_url
string

Whether to include download URL in payload

group_assets
string

Whether to group assets in batch notifications

note
string

Internal notes

Response samples

Content type
application/json
{
  • "id": 84,
  • "user": {
    },
  • "name": "Faker::Appliance",
  • "note": null,
  • "asset_group_id": 70612,
  • "events": null,
  • "include_download_url": false,
  • "enabled": true,
  • "created_at": "2026-01-29T15:40:28.812Z",
  • "updated_at": "2026-01-29T15:40:28.812Z",
  • "asset_group_type": "StorageFolder",
  • "asset_group_slug": "70612",
  • "asset_group_path_names": [
    ],
  • "requests_count": 0,
  • "group_assets": true,
  • "trash": false,
  • "asset_group": {
    }
}

Update Webhook

Update an existing webhook configuration.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "webhook": {
    }
}

Response samples

Content type
application/json
{
  • "organization_id": 1802,
  • "enabled": false,
  • "name": "Updated Webhook Name",
  • "id": 89,
  • "user_id": 22518,
  • "note": null,
  • "asset_group_id": 70717,
  • "events": null,
  • "include_download_url": false,
  • "created_at": "2026-01-29T15:40:37.737Z",
  • "updated_at": "2026-01-29T15:40:37.746Z",
  • "group_assets": true,
  • "trash": false
}

Delete Webhook

Permanently delete a webhook.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }

Test Webhook URL

Send a test POST request to verify webhook URL is reachable. Returns success if the URL responds with a 2xx status code.

Authorizations:
Authorization
Request Body schema: application/x-www-form-urlencoded
url
required
string

URL to test

Responses

Response Schema: application/json
message
string

Success message if URL is reachable

error
string

Error message if URL is not reachable

Response samples

Content type
application/json
{
  • "message": "Success"
}

Webhook Request Logs

Returns a paginated list of webhook request logs showing delivery history.

Authorizations:
Authorization
path Parameters
id
required
integer
query Parameters
current
integer
Default: 1

Current page number

pageSize
integer
Default: 25

Number of items per page

sortField
string

Field to sort by

sortOrder
string
Enum: "ascend" "descend"

Sort direction

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Request log ID

status
string

HTTP response status

created_at
string

Request timestamp

Response samples

Content type
application/json
[ ]

Webhook Request Payload

Get the JSON payload that was sent for a specific webhook request.

Authorizations:
Authorization
query Parameters
webhook_request_id
required
integer

Webhook Request ID

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "test": "data"
}

Webhook Response Data

Get the response received from the webhook endpoint for a specific request.

Authorizations:
Authorization
query Parameters
webhook_request_id
required
integer

Webhook Request ID

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "received": true
}

Workflow Steps

Workflow Steps are individual stages within a workflow. Each step can have assigned reviewers and approval requirements.

List Workflow Steps

Returns all workflow steps for the organization.

Authorizations:
Authorization

Responses

Response Schema: application/json
id
string

Workflow Step ID

name
string

Step name

workflow_id
string

Parent workflow ID

Response samples

Content type
application/json
[
  • {
    }
]

Workflow Step Details

Get details of a specific workflow step.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 45,
  • "name": "voluptatum",
  • "description": null,
  • "aasm_state": "active",
  • "position": 1,
  • "asset_group_id": 70952,
  • "auto_approval": true,
  • "manual_approval_type": null,
  • "approval_user_id": null,
  • "created_at": "2026-01-29T15:40:58.923Z",
  • "approval_user": null,
  • "send_to_lightroom": false,
  • "lightroom_user": null,
  • "approve_on_frame": false,
  • "set_in_progress_on_frame": false,
  • "workflow_id": 81,
  • "lightroom_user_id": null,
  • "enable_descendants": true,
  • "preserve_subfolders": true,
  • "editable": true,
  • "asset_group": {
    },
  • "workflow": {
    },
  • "approvals": [ ],
  • "approved_count": 0,
  • "pending_count": 0,
  • "rejected_count": 0,
  • "picked_count": 0
}

Update Workflow Step

Update a workflow step's settings.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "workflow_step": {
    }
}

Response samples

Content type
application/json
{
  • "id": 46,
  • "name": "Updated Step",
  • "description": null,
  • "aasm_state": "active",
  • "position": 1,
  • "asset_group_id": 70982,
  • "auto_approval": true,
  • "manual_approval_type": null,
  • "approval_user_id": null,
  • "created_at": "2026-01-29T15:41:01.624Z",
  • "approval_user": null,
  • "send_to_lightroom": false,
  • "lightroom_user": null,
  • "approve_on_frame": false,
  • "set_in_progress_on_frame": false,
  • "workflow_id": 82,
  • "lightroom_user_id": null,
  • "enable_descendants": true,
  • "preserve_subfolders": true,
  • "editable": true,
  • "asset_group": {
    }
}

Delete Workflow Step

Delete a workflow step.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Approve Workflow Step

Approve selected assets in a workflow step, moving them to the next step.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/x-www-form-urlencoded
asset_ids
required
Array of integers

Array of asset IDs to approve

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
[
  • {
    }
]

Workflows

Workflows define multi-step approval processes for assets. Each workflow contains steps that can require approvals before assets proceed.

List Workflows

Returns all workflows for the organization.

Authorizations:
Authorization

Responses

Response Headers
Total-Entries
integer
Response Schema: application/json
id
string

Workflow ID

name
string

Workflow name

Response samples

Content type
application/json
[
  • {
    }
]

Create Workflow

Create a new workflow for the organization.

Authorizations:
Authorization
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "workflow": {
    }
}

Response samples

Content type
application/json
{
  • "id": 88,
  • "organization_id": 1815,
  • "user_id": 22645,
  • "name": "Review Workflow",
  • "description": null,
  • "aasm_state": null,
  • "created_at": "2026-01-29T15:41:19.589Z",
  • "updated_at": "2026-01-29T15:41:19.589Z",
  • "auto": false,
  • "access_request_id": null
}

Workflow Details

Get details of a specific workflow.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{
  • "id": 86,
  • "name": "corporis",
  • "description": null,
  • "aasm_state": null,
  • "created_at": "2026-01-29T15:41:16.451Z",
  • "updated_at": "2026-01-29T15:41:16.451Z",
  • "user": {
    },
  • "steps": [ ],
  • "editable": true
}

Update Workflow

Update a workflow's settings.

Authorizations:
Authorization
path Parameters
id
required
integer
Request Body schema: application/json
object

Responses

Response Schema: application/json
object

Request samples

Content type
application/json
{
  • "workflow": {
    }
}

Response samples

Content type
application/json
{
  • "name": "Updated Workflow",
  • "id": 89,
  • "organization_id": 1816,
  • "user_id": 22654,
  • "description": null,
  • "aasm_state": null,
  • "created_at": "2026-01-29T15:41:23.107Z",
  • "updated_at": "2026-01-29T15:41:23.115Z",
  • "auto": false,
  • "access_request_id": null
}

Delete Workflow

Delete a workflow.

Authorizations:
Authorization
path Parameters
id
required
integer

Responses

Response Schema: application/json
object

Response samples

Content type
application/json
{ }