Developers
How can we help you?
Brand
A brand is an entity that can group title groups (series or collections) and features.
If a Series is generally a season, a brand is the entity that groups the Series for all the seasons of the same show. For example, a brand called “The X-Files” will contain the Series “The X-Files S1”, “The X-Files S2”, etc…
At the same time, the brand can also contain features (“The X-Files: Fight the future”) and collections (“The X-Files: Essential episodes”).
This is how a brand looks through the API:
<?xml version="1.0" encoding="UTF-8"?>
<brand>
<id type="integer">123</id>
<name>The Wire</name>
<external-id>TW</external-id>
<tags>Action,Drama</tags>
<acl-hash><view@everyone> <edit@team#141> <contribute@user#38></acl-hash>
<link rel="self" href="https://movida.bebanjo.net/api/brands/123"/>
<link rel="series" href="https://movida.bebanjo.net/api/brands/123/series"/>
<link rel="collections" href="https://movida.bebanjo.net/api/brands/123/collections"/>
<link rel="titles" href="https://movida.bebanjo.net/api/brands/123/titles"/>
<link rel="metadata" href="https://movida.bebanjo.net/api/brands/123/metadata"/>
<link rel="images" href="https://movida.bebanjo.net/api/brands/123/images"/>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensor/352"/>
<link rel="clips" href="https://movida.bebanjo.net/api/brands/123/clips"/>
<link rel="note" href="https://movida.bebanjo.net/api/brands/123/note"/>
<link rel="creator" href="https://movida.bebanjo.net/api/users/38"/>
</brand>
{
"resource_type": "brand",
"id": 123,
"name": "The Wire",
"external_id": "TW",
"tags": "Action,Drama",
"acl_hash": "<view@everyone> <edit@team#141> <contribute@user#38>",
"self_link": "https://movida.bebanjo.net/api/brands/123",
"series_link": "https://movida.bebanjo.net/api/brands/123/series",
"collections_link": "https://movida.bebanjo.net/api/brands/123/collections",
"titles_link": "https://movida.bebanjo.net/api/brands/123/titles",
"metadata_link": "https://movida.bebanjo.net/api/brands/123/metadata",
"images_link": "https://movida.bebanjo.net/api/brands/123/images",
"licensor_link": "https://movida.bebanjo.net/api/licensors/352",
"clips_link": "https://movida.bebanjo.net/api/brands/123/clips",
"note_link": "https://movida.bebanjo.net/api/brands/123/note",
"creator_link": "https://movida.bebanjo.net/api/users/38"
}
The creator
link represents the user creator of the brand, and it will be present only when the brand is created by a regular user, and not by an API user. This link is visible only for Mediagenix On-Demand accounts configured for User Permissions.
Valid attributes
-
id
(required): Mediagenix On-Demand internal identifier of the brand. It shouldn’t be provided in the creation of the resource, because Mediagenix On-Demand will assign that value. -
external-id
(optional): the identifier of the brand in the external system. If provided, it has to be unique in the scope of the company. -
name
(required): the name of the brand. -
tags
(optional): the list of tags separated by commas of the brand. -
acl-hash
(optional): a string representation of user permissions assigned to the brand. This property can be updated only by API users, adding or removing permissions from the list as needed.- Pattern:
<permissionName@subjectType#subjectId>
- Example:
<contribute@team#101> <edit@everyone> <view@user#123>
Each user permission representation const of 3 parts:
permissionName
: the name of the Permission resource.subjectType
: the type of the subject being granted with permissions. Allowed values: “user” for User, “team” for Team and “everyone” when it makes reference to all users of the BeBnanjo account.subjectId
: the Mediagenix On-Demand internal identifier of the subject.
This attribute is only present for Mediagenix On-Demand accounts configured for User Permissions.
- Pattern:
Get a list of all brands in the current account
Brands are linked from the root of the API, through the link identified with the rel="brands"
attribute:
<?xml version="1.0" encoding="UTF-8"?>
<movida>
<!-- ... -->
<link rel="brands" href="https://movida.bebanjo.net/api/brands">
</movida>
{
// ...
"brands_link": "https://movida.bebanjo.net/api/brands",
// ...
}
Following that link, we can fetch the list of brands in the current account.
$ curl --digest -u robot_user:password https://movida.bebanjo.net/api/brands
$ curl --digest -u robot_user:password -H "Accept: application/json" https://movida.bebanjo.net/api/brands
<?xml version="1.0" encoding="UTF-8"?>
<brands>
<total-entries>2120</total-entries>
<link rel="next" href="https://movida.bebanjo.net/api/brands?page=1"/>
<link rel="prev" href="https://movida.bebanjo.net/api/brands?page=3"/>
<brand>
<id type="integer">123</id>
<name>The Wire</name>
<external-id>TW</external-id>
<tags>Action,Drama</tags>
<acl-hash><view@everyone> <edit@team#141> <contribute@user#38></acl-hash>
<link rel="self" href="https://movida.bebanjo.net/api/brands/123"/>
<link rel="series" href="https://movida.bebanjo.net/api/brands/123/series"/>
<link rel="collections" href="https://movida.bebanjo.net/api/brands/123/collections"/>
<link rel="titles" href="https://movida.bebanjo.net/api/brands/123/titles"/>
<link rel="metadata" href="https://movida.bebanjo.net/api/brands/123/metadata"/>
<link rel="images" href="https://movida.bebanjo.net/api/brands/123/images"/>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensor/352"/>
<link rel="clips" href="https://movida.bebanjo.net/api/brands/123/clips"/>
<link rel="note" href="https://movida.bebanjo.net/api/brands/123/note"/>
<link rel="creator" href="https://movida.bebanjo.net/api/users/38"/>
</brand>
<brand>
<id type="integer">124</id>
<name>Mad Men</name>
<external-id>MM</external-id>
<tags>Action,Drama</tags>
<acl-hash><view@everyone> <edit@team#141> <contribute@user#43></acl-hash>
<link rel="self" href="https://movida.bebanjo.net/api/brands/124"/>
<link rel="series" href="https://movida.bebanjo.net/api/brands/124/series"/>
<link rel="collections" href="https://movida.bebanjo.net/api/brands/124/collections"/>
<link rel="titles" href="https://movida.bebanjo.net/api/brands/124/titles"/>
<link rel="metadata" href="https://movida.bebanjo.net/api/brands/124/metadata"/>
<link rel="images" href="https://movida.bebanjo.net/api/brands/124/images"/>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensor/353"/>
<link rel="clips" href="https://movida.bebanjo.net/api/brands/124/clips"/>
<link rel="note" href="https://movida.bebanjo.net/api/brands/124/note"/>
<link rel="creator" href="https://movida.bebanjo.net/api/users/43"/>
</brand>
<!-- ... -->
</brands>
{
"total_entries": 2120,
"prev_link": "https://movida.bebanjo.net/api/brands?page=1",
"next_link": "https://movida.bebanjo.net/api/brands?page=3",
"entries": [
{
"resource_type": "brand",
"id": 123,
"name": "The Wire",
"external_id": "TW",
"tags": "Action,Drama",
"acl_hash": "<view@everyone> <edit@team#141> <contribute@user#38>",
"self_link": "https://movida.bebanjo.net/api/brands/123",
"series_link": "https://movida.bebanjo.net/api/brands/123/series",
"collections": "https://movida.bebanjo.net/api/brands/123/collections",
"titles_link": "https://movida.bebanjo.net/api/brands/123/titles",
"metadata_link": "https://movida.bebanjo.net/api/brands/123/metadata",
"images_link": "https://movida.bebanjo.net/api/brands/123/images",
"licensor_link": "https://movida.bebanjo.net/api/licensors/352",
"clips_link": "https://movida.bebanjo.net/api/brands/123/clips",
"note_link": "https://movida.bebanjo.net/api/brands/123/note",
"creator_link": "https://movida.bebanjo.net/api/users/38"
},
{
"resource_type": "brand",
"id": 124,
"name": "Mad Men",
"external_id": "MM",
"tags": "Action,Drama",
"acl_hash": "<view@everyone> <edit@team#141> <contribute@user#43>",
"self_link": "https://movida.bebanjo.net/api/brands/124",
"series_link": "https://movida.bebanjo.net/api/brands/124/series",
"collections_link": "https://movida.bebanjo.net/api/brands/124/collections",
"titles_link": "https://movida.bebanjo.net/api/brands/124/titles",
"titles_link": "https://movida.bebanjo.net/api/brands/124/titles",
"metadata_link": "https://movida.bebanjo.net/api/brands/124/metadata",
"images_link": "https://movida.bebanjo.net/api/brands/124/images",
"licensor_link": "https://movida.bebanjo.net/api/licensors/353",
"clips_link": "https://movida.bebanjo.net/api/brands/124/clips",
"note_link": "https://movida.bebanjo.net/api/brands/124/note",
"creator_link": "https://movida.bebanjo.net/api/users/43"
},
// ...
]
}
Note: This is a paginated resource. By default, only 50 brands will be included in each page but you can override this default by using the
per_page
parameter described in the next section. Thetotal-entries
attribute will indicate the total number of entries and the linksrel="next"
andrel="prev"
should be used to get the next and the previous pages.
You can filter the list of brands returned using the following attributes:
external_id
: It will return only the brand with the given external ID (if any).per_page
: Number of elements returned in each page. The maximum value allowed is 200 and the default is 50.
Get a single brand given its URL
The self
link of a brand contains a URL that will allow us to fetch that individual brand:
$ curl --digest -u robot_user:password https://movida.bebanjo.net/api/brands/123
$ curl --digest -u robot_user:password -H "Accept: application/json" https://movida.bebanjo.net/api/brands/123
<?xml version="1.0" encoding="UTF-8"?>
<brand>
<id type="integer">123</id>
<name>The Wire</name>
<external-id>TW</external-id>
<tags>Action,Drama</tags>
<acl-hash><view@everyone> <edit@team#141> <contribute@user#38></acl-hash>
<link rel="self" href="https://movida.bebanjo.net/api/brands/123"/>
<link rel="series" href="https://movida.bebanjo.net/api/brands/123/series"/>
<link rel="collections" href="https://movida.bebanjo.net/api/brands/123/collections"/>
<link rel="metadata" href="https://movida.bebanjo.net/api/brands/123/metadata"/>
<link rel="images" href="https://movida.bebanjo.net/api/brands/123/images"/>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensor/352"/>
<link rel="clips" href="https://movida.bebanjo.net/api/brands/123/clips"/>
<link rel="creator" href="https://movida.bebanjo.net/api/users/38"/>
</brand>
{
"resource_type": "brand",
"id": 123,
"name": "The Wire",
"external_id": "TW",
"tags": "Action,Drama",
"acl_hash": "<view@everyone> <edit@team#141> <contribute@user#38>",
"self_link": "https://movida.bebanjo.net/api/brands/123",
"series_link": "https://movida.bebanjo.net/api/brands/123/series",
"collections_link": "https://movida.bebanjo.net/api/brands/123/collections",
"titles_link": "https://movida.bebanjo.net/api/brands/123/titles",
"metadata_link": "https://movida.bebanjo.net/api/brands/123/metadata",
"images_link": "https://movida.bebanjo.net/api/brands/123/images",
"licensor_link": "https://movida.bebanjo.net/api/licensors/352",
"clips_link": "https://movida.bebanjo.net/api/brands/123/clips",
"note_link": "https://movida.bebanjo.net/api/brands/123/note",
"creator_link": "https://movida.bebanjo.net/api/users/38"
}
Create a new brand
To create a brand, you just need to POST
the proper XML/JSON representation of a brand (similar to the ones you get when fetching) to the URL that you can find in the link rel="brands"
of the root of the API.
For example, this POST
would create a brand: (we’ll use curl’s @ option, which reads the data that is to be posted to the URL from a file)
$ cat payload.xml
$ cat payload.json
<?xml version="1.0" encoding="UTF-8"?>
<brand>
<name>Breaking Bad</name>
<external-id>BB</external-id>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensors/354"/>
</brand>
{
"name": "Breaking Bad",
"external_id": "BB",
"licensor_link": "https://movida.bebanjo.net/api/licensors/354"
}
Note: The licensor URL must be of one licensor that already exists in the system, licensor URL is optional. See how to create licensors in the [[Mediagenix On-Demand Resource: Licensor]] page.
$ curl --digest -u robot_user:password -H "Content-Type: application/xml" -X POST -d @payload.xml "https://movida.bebanjo.net/api/brands"
$ curl --digest -u robot_user:password -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d @payload.json "https://movida.bebanjo.net/api/brands"
Mediagenix On-Demand will return the full XML/JSON of the brand just created:
<?xml version="1.0" encoding="UTF-8"?>
<brand>
<id type="integer">125</id>
<name>Breaking Bad</name>
<external-id>BB</external-id>
<tags>Action,Drama</tags>
<acl-hash nil="true"/>
<link rel="self" href="https://movida.bebanjo.net/api/brands/125"/>
<link rel="series" href="https://movida.bebanjo.net/api/brands/125/series"/>
<link rel="collections" href="https://movida.bebanjo.net/api/brands/125/collections"/>
<link rel="titles" href="https://movida.bebanjo.net/api/brands/125/titles"/>
<link rel="metadata" href="https://movida.bebanjo.net/api/brands/125/metadata"/>
<link rel="images" href="https://movida.bebanjo.net/api/brands/125/images"/>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensors/354"/>
<link rel="clips" href="https://movida.bebanjo.net/api/brands/125/clips"/>
<link rel="note" href="https://movida.bebanjo.net/api/brands/125/note"/>
<link rel="creator" href="https://movida.bebanjo.net/api/users/38"/>
</brand>
{
"resource_type": "brand",
"id": 125,
"name": "Breaking Bad",
"external_id": "BB",
"tags": "Action,Drama",
"acl_hash": null,
"self_link": "https://movida.bebanjo.net/api/brands/125",
"series_link": "https://movida.bebanjo.net/api/brands/125/series",
"collections_link": "https://movida.bebanjo.net/api/brands/125/collections",
"titles_link": "https://movida.bebanjo.net/api/brands/125/titles",
"metadata_link": "https://movida.bebanjo.net/api/brands/125/metadata",
"images_link": "https://movida.bebanjo.net/api/brands/125/images",
"licensor_link": "https://movida.bebanjo.net/api/licensors/354",
"clips_link": "https://movida.bebanjo.net/api/brands/125/clips",
"note_link": "https://movida.bebanjo.net/api/brands/125/note",
"creator_link": "https://movida.bebanjo.net/api/users/38"
}
Updating a brand
You can update an existing brand sending a PUT
request to the URL of the brand (that you can get from its link rel="self"
). You only need to include those attributes of the brand that you wish to update:
$ cat payload.xml
$ cat payload.json
<?xml version="1.0" encoding="UTF-8"?>
<brand>
<name>Breaking Good</name>
</brand>
{
"name": "Breaking Good"
}
$ curl --digest -u robot_user:password -H "Content-Type: application/xml" -X PUT -d @payload.xml "https://movida.bebanjo.net/api/brands/125"
$ curl --digest -u robot_user:password -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d @payload.json "https://movida.bebanjo.net/api/brands/125"
Mediagenix On-Demand will return the full XML/JSON of the brand just updated:
<?xml version="1.0" encoding="UTF-8"?>
<brand>
<id type="integer">125</id>
<name>Breaking Good</name>
<external-id>BB</external-id>
<tags>Action,Drama</tags>
<acl-hash nil="true"/>
<link rel="self" href="https://movida.bebanjo.net/api/brands/125"/>
<link rel="series" href="https://movida.bebanjo.net/api/brands/125/series"/>
<link rel="collections" href="https://movida.bebanjo.net/api/brands/125/collections"/>
<link rel="titles" href="https://movida.bebanjo.net/api/brands/125/titles"/>
<link rel="metadata" href="https://movida.bebanjo.net/api/brands/125/metadata"/>
<link rel="images" href="https://movida.bebanjo.net/api/brands/125/images"/>
<link rel="licensor" href="https://movida.bebanjo.net/api/licensors/354"/>
<link rel="clips" href="https://movida.bebanjo.net/api/brands/125/clips"/>
<link rel="note" href="https://movida.bebanjo.net/api/brands/125/note"/>
<link rel="creator" href="https://movida.bebanjo.net/api/users/38"/>
</brand>
{
"resource_type": "brand",
"id": 125,
"name": "Breaking Good",
"external_id": "BBBB",
"tags": "Action,Drama",
"acl_hash": null,
"self_link": "https://movida.bebanjo.net/api/brands/125",
"series_link": "https://movida.bebanjo.net/api/brands/125/series",
"collections_link": "https://movida.bebanjo.net/api/brands/125/collections",
"titles_link": "https://movida.bebanjo.net/api/brands/125/titles",
"metadata_link": "https://movida.bebanjo.net/api/brands/125/metadata",
"images_link": "https://movida.bebanjo.net/api/brands/125/images",
"licensor_link": "https://movida.bebanjo.net/api/licensors/354",
"clips_link": "https://movida.bebanjo.net/api/brands/125/clips",
"note_link": "https://movida.bebanjo.net/api/brands/125/note",
"creator_link": "https://movida.bebanjo.net/api/users/38"
}
Deleting a brand
You can also delete a brand using a DELETE request to the brand URL:
$ curl --digest -u robot_user:password -X DELETE "https://movida.bebanjo.net/api/brands/125"
$ curl --digest -u robot_user:password -H "Accept: application/json" -X DELETE "https://movida.bebanjo.net/api/brands/125"
Note: Deleting a brand won’t delete its content in cascade. Those series, collections and features will keep existing but they won’t belong to any brand.