List and search assets
const url = 'https://api.ebitex.io/assets/delivery/v1/assets';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.ebitex.io/assets/delivery/v1/assets \ --header 'Authorization: Bearer <token>'Lists the assets the key’s channel can see, newest first, one page at a time. Each item carries its key (the asset’s id), its contractExternalId (ebitex-image, ebitex-video or ebitex-document), its name, a small thumbnailUrl, a one-line subtitle, and the full document, in the same form GET /assets/{id} returns. A document also carries the asset’s delivered custom fields, each as its own member beside name and file.
contract narrows to one type, search matches the asset’s name anywhere in it without regard to case, and limit is 1 to 100 and defaults to 50. nextCursor is null on the last page; send it back as cursor for the next. A contract this API does not describe lists nothing.
An asset can be restricted to an audience. Send the visitor’s audience token in the X-Ebitex-Audiences header (the content SDK does this for you). Without a token that grants the audience the asset has no link at all: this read answers 403 with members_only and the asset’s kind, and nothing else about it. With one, the asset is returned with links that last five minutes and an expiresAt that says when they stop. A list shows a restricted asset the token does not grant as a stub: its name, its type, and "restricted": true, with no file and no thumbnail.
A channel decides what a key sees: its folders, its categories, and whether private assets are included. An asset outside the channel answers 404, exactly as one that does not exist, so a key can never read by id what it cannot list. Responses are never cached: links to private assets are minted for each response.
Key: an Assets channel key (assets.delivery.read), minted for one channel in Assets. What it can see is that channel’s.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”Responses
Section titled “ Responses ”OK
validation_failed: cursor is not one this API returned.
missing_api_key or invalid_api_key: no key was sent, or it is unknown, revoked or expired, or its channel no longer exists.
payment_required: the organization’s subscription needs attention.
scope_denied: the key lacks assets.delivery.read. app_not_available: Assets is not enabled for the organization. origin_denied or ip_denied: the key was used from an origin or address outside its restrictions.
too_many_failed_authentications: too many bad keys from this address; Retry-After says how long to wait.