Updating Content

Object representing your content updated into the database, to override the previous item with the same ID.

Endpoint - POST /$source

Header Value Description
Content-Type “application/json” String indicating that the submitting body format is JSON.
x-api-key Your API key String representing the value of the API key we sent you when you joined Rumo.


Example request (with non-weighted categories):

curl -X POST \
  https://beta.api.rumo.co/{{$source}} \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: Your_Rumo_API_Key' \
  -d '[
        {
            "id" : "1",
            "label" : "Toy Story (1995) - updated",
            "categories" : {
                "genres" : [
                    {"key" : "Adventure"},
                    {"key" : "Animation"},
                    {"key" : "Children"},
                    {"key" : "Comedy"},
                    {"key" : "Fantasy"}
                ],
                "directors" : [
                    {"key" : "John Lasseter"}
                ]
            }
        }
    ]'


Example request (with weighted categories and filters):

curl -X POST \
  https://beta.api.rumo.co/{{$source}} \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: Your_Rumo_API_Key' \
    -d '[
            {
                "id": "123",
                "label": "Star Wars : Episode V – The Empire Strikes Back - updated",
                "categories": {
                    "Mood" : [
                        {"key" : "spectacular" , "weight" : 85},
                        {"key" : "new horizons" , "weight" : 60},
                        {"key" : "family" , "weight" : 55},
                        {"key" : "suspense" , "weight" : 55}
                    ],
                    "Theme" : [
                        {"key" : "space operas" , "weight" : 100},
                        {"key" : "special effects" , "weight" : 93},
                        {"key" : "superpowers" , "weight" : 78},
                        {"key" : "famous soundtracks" , "weight" : 65},
                        {"key" : "meditation" , "weight" : 40},
                        {"key" : "resistance and collaborators" , "weight" : 18}
                    ],
                    "Character" : [
                        {"key" : "robots" , "weight" : 78},
                        {"key" : "aliens" , "weight" : 78},
                        {"key" : "wise sages" , "weight" : 40}
                    ],
                    "Format" : [
                        {"key" : "fiction films"}
                    ],
                    "Target audience" : [
                        {"key" : "g-rated movies"}
                        ]
                    },
                "filters" : {
                        "catalogs" : ["tv"]
                    }
            }
        ]'


JSON response

{
    "correlationId": "8840cea7-c577-4a30-9ba0-88e74c64cd4f"
}


Attribute Level Status Description
id 1 Mandatory String used to identify a content piece.
label 1 Optional String used to label a content piece, representing, for example, a movie headline, a song title, or whatever the nature of the content.
categories 1 Mandatory Field value object, where fields can be anything and are used to classify each content piece. The field value can be either a string map (non-weighted categories), or an object map (weighted categories).
filters 1 Optional String used to establish limits to the pool of content. The effectiveness of your filters depends on the quality of the keywords you use within your content.

Your access to filters depends on your subscription plan.
key 3 Optional String used to organize and categorize your content.
Filters use the keywords specified in your content database.

Keyword definition is important and improves the precision of the content recommendations. You should be accurate and refined when specifying your keywords.
weight 3 Optional Integer identifying the weight of a keyword. Weights are used to establish a hierarchy for the keywords.

Weight attribution improves the precision of the content recommendations.

When assigning weights, bear in mind that each keyword has one defined weight for every single entry of the content database. Our API will only process instances of weighted-keywords with assigned values.

Rumo supports as many categories (level-2 or below) as you may need. For example, within categories, you can define genres such as “Adventure, “Animation, or “Comedy,” and directors such as “John Lasseter.”


Returns Description
correlationID String identifying a successful content submission. It can assume different values.

In the future, you will be able to use it to check the status of your content uploads.
code exceptions HTTP status code identifying that the source submission to the database was unsuccessful.

We’re still working on code exceptions. Please bear with us if you notice inconsistencies during the beta stage.