Getting Started with Bynder API

This page will help you get started with Bynder API. You'll be up and running in a jiffy!

Bynder (www.bynder.com) is a Digital Asset Management solution that allows you to store, manage and share your assets. Using the Bynder API you can access assets, brands, collections and all their metadata fields as well as pointers to the file destinations.For more information on how to use the Bynder API check: https://developer-docs.bynder.com/API/ Note: In case you have Paw or Postman, you can download the following Paw file or Postman Collection which contain all of the API requests defined in this page.

Definitions

Consumer

  • Consists of a key and secret.
  • A website or application that uses OAuth to access the service provider on behalf of the user.

Request token pair

  • A temporary valid token pair consisting of token and secret.Used by the consumer to obtain authorization from the user, and exchanged for an access token pair.

Access token pair

  • A token pair consisting of token and secret.
  • Used by the consumer to gain access to the protected Bynder API calls.

Authorization

Bynder supports only the following type of authorization protocol to authorize API calls:

  • OAuth 2.0 using an Authorization Header including a bearer access token in JWT format.

OAuth Scopes

The scope limits an OAuth access token to only access data the user has consented to on the consent page. These are passed during the flow which is described in the OAuth 2.0 section. Additionally, Bynder will only grant the scopes matching the user's required permissions. To see which permissions are required for each scope, see the Retrieve scopes endpoint.

Below is the list of scopes and which API operation(s) require them:

Scope

Operation(s)

admin.profile:read

Retrieve security profiles Retrieve specific security profile

admin.user:read

Retrieve users Retrieve specific user Retrieve user specific temporary access token Retrieve users (Workflow)

admin.user:write

Create user Modify user Delete user

current.profile:read

Retrieve specific security profile

current.user:read

Retrieve current user

asset:read

Retrieve assets Retrieve specific asset Retrieve asset download location Retrieve asset version download location Retrieve specific asset item download location Retrieve recently removed assets Search for similar assets

asset:write

Modify asset Delete asset Add tag to assets Remove tag from assets Save as new asset Save as a new asset version

asset.usage:read

Retrieve asset usage

asset.usage:write

Create asset usage Delete asset usage

collection:read

Retrieve collections Retrieve specific collection Retrieve the assets of a specific collection

collection:write

Create collection Modify collection Delete collection Share collection Add assets to a collection Remove assets from a collection

meta.assetbank:read

Retrieve metaproperties Retrieve specific metaproperty Retrieve metaproperty dependencies Retrieve metaproperty options by ids Retrieve metaproperty options Retrieve global option dependencies Retrieve metaproperty option dependencies Retrieve specific metaproperty option dependencies Retrieve metaproperties (PIM) Retrieve specific metaproperty (PIM) Retrieve metaproperty options (PIM)

meta.assetbank:write

Create metaproperty Modify metaproperty Delete metaproperty Create dependency Delete dependency Create metaproperty option Modify metaproperty option Delete metaproperty option Add a dependency Delete a dependency Create dependency group Modify dependency group Delete dependency group Add a dependency option to a group Remove a dependency option from a group Modify metaproperty option (PIM)

meta.workflow:read

Retrieve metaproperties Retrieve specific metaproperty

workflow.campaign:read

Retrive campaigns Retrieve specific campaign

workflow.campaign:write

Create campaign Modify campaign Delete campaign Close campaign

workflow.group:read

Retrieve groups Retrieve specific group

workflow.group:write

Create group Modify group Delete group

workflow.job:read

Retrieve jobs Retrieve the jobs of a specific campaign Retrieve specific job Retrieve specific stage Retrieve stages of specific job Finish job

workflow.job:write

Create job Modify job Delete job Modify stage

workflow.job:approve

Finish job

workflow.preset:read

Retrieve specific job preset

brandstore.order:read

Retrieve orders Retrieve specific order info Retrieve specific order by id Retrieve specific order by number Retrieve specific orderline

brandstore.order:write

Modify orderline

analytics.api:read

Analytics API read access

antivirus.asset.audit:read

Retrieve a list of quarantined assets Retrieve a quarantined asset by id

antivirus.asset.audit:write

Update review status by id Update review status by list of asset Ids

webhooks.config:read

Retrieve Webhook configurations

webhooks.config:write

Create a Webhook configuration Update a Webhook configuration Patch a Webhook configuration Delete a Webhook configuration



Limit on requests

We applied API rate limiting to ensure that our API resources are not consumed excessively, so that all our clients can utilize our API seamlessly. We allow a number of 4500 requests in any five-minute time frame from a single IP address. When you have reached the maximum number of allowed requests the exceeding requests will be blocked. When a request is rejected you will receive the 429 (Too Many Requests) error returned via the API. If five minutes pass with no requests coming from your IP address we will lift the block and you will be able to send API requests again.

Note on identifiers

Bynder uses the following two types of UUIDs:

  • In the ColdFusion format, for the /api/v4 requests, they are grouped in 4 groups with the pattern 8-4-4-16. Example: 00000000-0000-0000-0000000000000000.
  • In the version 4 format, for the /api requests (without /v4), they are grouped in 5 groups with the pattern 8-4-4-4-12. Example: 00000000-0000-0000-0000-000000000000.