Skip to content

Developers

How can we help you?

← Go back

Scheduling

Note: link elements in this resource can be expanded using the expand option, except the metadata link.

A ‘Scheduling’ is a shortcut for ‘Scheduled Title’. In the VoD world, it corresponds to the period when a Title is scheduled in a particular Platform.

A VOD schedule is composed of many schedulings; it is composed of all the list of all the titles that have been scheduled in it (from a put up date to a take down date). In Mediagenix On-Demand, a scheduling looks like this:

Scheduling

In this case, “Episode 10, One to Go” of series (or title group) “CSI: Crime Scene Investigation. 9” is scheduled in “Platform Mediagenix On-Demand Movies from Apr 1, 2010 to June 1, 2010”.

This is how this Scheduling would look in the API:

<?xml version="1.0" encoding="UTF-8"?>
<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2010-04-01T00:00:00Z</put-up>
  <take-down type="datetime">2010-06-01T21:59:59Z</take-down>
  <scheduling-type>archive</scheduling-type>
  <rights-status>cleared</rights-status>
  <rights-status-calculating type="boolean">false</rights-status-calculating>
  <workflow-status>completed</workflow-status>
  <publication-status>valid</publication-status>
  <tags>Action,Drama</tags>
  <external-id>C5080530001</external-id>
  <automatic-asset-selection type="boolean">false</automatic-asset-selection>
  <link rel="self" href="https://movida.bebanjo.net/api/schedulings/23816"/>
  <link rel="title_group" href="https://movida.bebanjo.net/api/title_groups/190"/>
  <link rel="title" href="https://movida.bebanjo.net/api/titles/613"/>
  <link rel="asset" href="https://movida.bebanjo.net/api/assets/1231"/>
  <link rel="conflicts" href="https://movida.bebanjo.net/api/schedulings/23816/conflicts"/>
  <link rel="publications" href="https://movida.bebanjo.net/api/schedulings/23816/publications"/>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
  <link rel="playlist" href="https://movida.bebanjo.net/api/playlists/99"/>
  <link rel="workflow" href="https://movida.bebanjo.net/api/schedulings/23816/workflow"/>
  <link rel="metadata" href="https://movida.bebanjo.net/api/schedulings/23816/metadata"/>
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2010-04-01T00:00:00Z",
  "take_down": "2010-06-01T21:59:59Z",
  "scheduling_type": "archive",
  "rights_status": "cleared",
  "rights_status_calculating": false,
  "workflow_status": "completed",
  "publication_status": "valid",
  "tags": "Action,Drama",
  "external_id": "C5080530001",
  "automatic_asset_selection": false,
  "self_link": "https://movida.bebanjo.net/api/schedulings/23816",
  "title_group_link": "https://movida.bebanjo.net/api/title_groups/190",
  "title_link": "https://movida.bebanjo.net/api/titles/613",
  "asset_link": "https://movida.bebanjo.net/api/assets/1231",
  "conflicts_link": "https://movida.bebanjo.net/api/schedulings/23816/conflicts",
  "publications_link": "https://movida.bebanjo.net/api/schedulings/23816/publications",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1",
  "workflow_link": "https://movida.bebanjo.net/api/schedulings/23816/workflow",
  "metadata_link": "https://movida.bebanjo.net/api/schedulings/23816/metadata"
}

Accessing schedulings

Schedulings are accessed via the schedule of a platform, title group, title or linear scheduling. Refer to the schedule page to find out how to access the schedule. In additon, they can be accessed from the root of the API.

Valid attributes

By default, when accessing a list of schedulings, you will get the whole list. This list could be a massive one, so the following attributes can be used to filter them down:

Note: All attributes below are optional, but if you use the scope attribute, you’ll need to include the from and to attributes as well.

  • scope: going_online, coming_offline or online.

    • going_online: Will return all the schedulings that are going online within the supplied from and to dates

    • coming_offline: Will return all the schedulings that are coming offline within the supplied from and to dates

    • online: Will return all the schedulings that are online within the period of the supplied from and to dates, even if these were put up before that period or are being taken down after that period.

  • from (date / datetime): If a date is passed, bear in mind it will adjust that date to the beginning of the day. Examples would be:

    • 2010-01-01

    • 2010-01-01T00:00:00

    • 2010-01-01T00:00:00Z

  • to (date / datetime) If a date is passed, bear in mind it will adjust that date to the ending of the day. Examples would be:

    • 2010-02-01

    • 2010-02-01T23:59:59

    • 2010-02-01T23:59:59Z

  • external_id: You can filter the list of schedulings by passing in an external_id. This attribute can be used to store the ID of a related item in an external system.

  • pagination: Note that by default, schedulings are only paginated when accessed from the root of the API. When accessing from a platform, title or title_group, if you want to enable pagination you need to provide the pagination parameter with a value of true.

  • after: This parameter filters schedulings to include only schedulings that are newer than another one. The value of this parameter will be the id of the scheduling taken as a reference.

Note: With enabled pagination, only 50 schedulings will be included in each page by default. The total-entries element will indicate the total number of entries. The link rel="next" can be used to get the next page, this way you can navigate all the schedulings of your account.

So, to fetch all items that are online on a specific platform in a defined period, you would do:

$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/platforms/1/schedule/schedulings?scope=online&from=2010-01-01&to=2010-03-01"

If you wanted however, to see the schedule entries of a title going online in a specific period, you would do:

$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/titles/1/schedule/schedulings?scope=going_online&from=2010-01-01&to=2010-03-01"

Also, if you wanted to find a scheduling with a specific external ID, you would do:

$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/schedule/schedulings?external_id=C5147630001"

If you wanted, finally, to see the schedule entries related to specific linear scheduling, you would do:

$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/linear_schedulings/1234/schedulings"

All of those calls will return the collection of schedulings matching the parameters.

Accessing individual schedulings directly

If you look carefully at the previous example, you’ll notice each scheduling has a self link, whose url you can use to access it directly:

$ curl --digest -u robot_user:password "https://movida.bebanjo.net/api/schedulings/23816"
$ curl --digest -u robot_user:password -H "Accept: application/json" "https://movida.bebanjo.net/api/schedulings/23816"
<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2010-04-01T00:00:00Z</put-up>
  <take-down type="datetime">2010-06-01T21:59:59Z</take-down>
  <scheduling-type>archive</scheduling-type>
  <rights-status>cleared</rights-status>
  <rights-status-calculating type="boolean">false</rights-status-calculating>
  <workflow-status>completed</workflow-status>
  <publication-status>valid</publication-status>
  <tags>Action,Drama</tags>
  <external-id>C5080530001</external-id>
  <automatic-asset-selection type="boolean">false</automatic-asset-selection>
  <link rel="self" href="https://movida.bebanjo.net/api/schedulings/23816"/>
  <link rel="title_group" href="https://movida.bebanjo.net/api/title_groups/190"/>
  <link rel="title" href="https://movida.bebanjo.net/api/titles/613"/>
  <link rel="asset" href="https://movida.bebanjo.net/api/assets/1231"/>
  <link rel="conflicts" href="https://movida.bebanjo.net/api/schedulings/23816/conflicts"/>
  <link rel="publications" href="https://movida.bebanjo.net/api/schedulings/23816/publications"/>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
  <link rel="workflow" href="https://movida.bebanjo.net/api/schedulings/23816/workflow"/>
  <link rel="metadata" href="https://movida.bebanjo.net/api/schedulings/23816/metadata"/>
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2010-04-01T00:00:00Z",
  "take_down": "2010-06-01T21:59:59Z",
  "scheduling_type": "archive",
  "rights_status": "cleared",
  "rights_status_calculating": false,
  "workflow_status": "completed",
  "publication_status": "valid",
  "tags": "Action,Drama",
  "external_id": "C5080530001",
  "automatic_asset_selection": false,
  "self_link": "https://movida.bebanjo.net/api/schedulings/23816",
  "title_group_link": "https://movida.bebanjo.net/api/title_groups/190",
  "title_link": "https://movida.bebanjo.net/api/titles/613",
  "asset_link": "https://movida.bebanjo.net/api/assets/1231",
  "conflicts_link": "https://movida.bebanjo.net/api/schedulings/23816/conflicts",
  "publications_link": "https://movida.bebanjo.net/api/schedulings/23816/publications",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1",
  "workflow_link": "https://movida.bebanjo.net/api/schedulings/23816/workflow",
  "metadata_link": "https://movida.bebanjo.net/api/schedulings/23816/metadata"
}

Note that, for all scheduling responses, the tags attribute always includes both the specific tags of the scheduling and the inherited tags coming from the related entities (i.e. title, series/collection and brand), despite any operation on tags via API will affect only the specific attributes of the scheduling. That means inherited tags of the scheduling are read only.

Scheduling publications

If your company has publication enabled for some platforms, your schedulings will carry information regarding the publication status on those platforms. Values of the publication status field can be:

  • invalid: In case the scheduling is not ready to be published to the platform, due to validation errors in its metadata. Trying to publish a scheduling with this status will cause an error as described in Mediagenix On-Demand-Resource:-Publication

  • calculating: In the odd case that the publication status of the scheduling is being calculated. Publishing is an asynchronous process and this is a transient status.

  • valid: In case the scheduling is ready to be published.

  • queued: The asynchronous job that publishes a Scheduling has been queued for processing; when processed the status will move to either valid (if the publication fails), sent, or published.

  • on_hold: In the case where a Publication for a Scheduling was requested but publication for the Outlet is temporarily disabled. The Scheduling will be automatically published when publication for the Outlet is re-enabled.

  • sent: In the case the final platform is configured to notify back the ingest of the publication, this is the state that will have the scheduling while no notification from the platform has been received.

  • failed: This state shows a problem with the publication in the final platform.

  • published: In the case the scheduling has been successfully published and no changes are pending to be republished. In the case the final platform is configured to notify back the ingest of the publication, this state means that the platform has notified that the publication has been successful.

Schedulings on platforms with enabled publication will also include a link rel="publications". Please refer to publication for details:

<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2010-04-01T00:00:00Z</put-up>
  <take-down type="datetime">2010-06-01T21:59:59Z</take-down>
  ...
  <publication-status>valid</publication-status>
  ...
  <link rel="publications" href="https://movida.bebanjo.net/api/schedulings/23816/publications"/>
  ...
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2010-04-01T00:00:00Z",
  "take_down": "2010-06-01T21:59:59Z",
  // ...
  "publication_status": "valid",
  // ...
  "publications_link": "https://movida.bebanjo.net/api/schedulings/23816/publications",
  // ...
}

Note: When the metadata of a published scheduling changes, the publication status will be one of valid or invalid. This is to indicate that there are changes that haven’t been published. If you need to know if a given scheduling has ever been published, you should check the publications link.

Scheduling metadata errors

If your company has publication enabled for some platforms, schedulings on these platforms might have valid or invalid publication status, as described above. They will also include a link rel="metadata_errors". Please refer to metadata error for details:

<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2010-04-01T00:00:00Z</put-up>
  <take-down type="datetime">2010-06-01T21:59:59Z</take-down>
  ...
  <publication-status>invalid</publication-status>
  ...
  <link rel="metadata_errors" href="https://movida.bebanjo.net/api/schedulings/23816/metadata_errors"/>
  ...
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2010-04-01T00:00:00Z",
  "take_down": "2010-06-01T21:59:59Z",
  // ...
  "publication_status": "invalid",
  // ...
  "metadata_errors_link": "https://movida.bebanjo.net/api/schedulings/23816/metadata_errors",
  // ...
}

Scheduling workflow

In case your company is using Mediagenix On-Demand’s Sequence product, in each scheduling you’ll find a link to the workflow of the scheduling:

<scheduling>
  ...
  <link rel="workflow" href="https://movida.bebanjo.net/api/schedulings/23816/workflow"/>
  ...
</scheduling>
{
  "resource_type": "scheduling",
  // ...
  "workflow_link": "https://movida.bebanjo.net/api/schedulings/23816/workflow",
  // ...
}

Please refer to workflow for more details about that link.

Notice that in case you are interested only on status attribute of a workflow, you can directly access that attribute through scheduling workflow-status attribute.

<scheduling>
  ...
  <workflow-status>completed</workflow-status>
  ...
</scheduling>
{
  // ...
  "workflow_status": "completed",
  // ...
}

Scheduling linear schedulings

If your company is using the Catch-up feature, every catch-up scheduling includes a link to the original linear schedulings:

<scheduling>
  ...
  <link rel="linear_schedulings" href="https://movida.bebanjo.net/api/schedulings/23816/linear_schedulings"/>
  ...
</scheduling>
{
  "resource_type": "scheduling",
  // ...
  "linear_schedulings_link": "https://movida.bebanjo.net/api/schedulings/23816/linear_schedulings",
  // ...
}

Please refer to rule for more details about VOD rules. Please refer to linear scheduling for more details about that link.

Creating a scheduling

As our introduction to REST APIs page suggests, you can create a scheduling using a POST request to the scheduling link of a title resource:

$ cat create_scheduling.xml
$ cat create_scheduling.json
<scheduling>
  <put-up>2014-06-17T06:00:00Z</put-up>
  <take-down>2015-11-01T06:00:00Z</take-down>
  <external-id>C5080530001</external-id>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
</scheduling>
{
  "put_up": "2014-06-17T06:00:00Z",
  "take_down": "2015-11-01T06:00:00Z",
  "external_id": "C5080530001",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1"
}

Note: if you are creating the scheduling in an episode, you need to include a link to the title group:

<scheduling>
  <put-up>2014-06-17T06:00:00Z</put-up>
  <take-down>2015-11-01T06:00:00Z</take-down>
  <external-id>C5080530001</external-id>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
  <link rel="title_group" href="https://movida.bebanjo.net/api/title_groups/3"/>
</scheduling>
{
  "put_up": "2014-06-17T06:00:00Z",
  "take_down": "2015-11-01T06:00:00Z",
  "external_id": "C5080530001",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1",
  "title_group_link": "https://movida.bebanjo.net/api/title_groups/3"
}
$ curl --digest -u robot_user:password -H "Content-Type: application/xml" -X POST -d @create_scheduling.xml "https://movida.bebanjo.net/api/titles/1/schedule/schedulings"
$ curl --digest -u robot_user:password -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d @create_scheduling.json "https://movida.bebanjo.net/api/titles/1/schedule/schedulings"

As always Mediagenix On-Demand will return the full XML/JSON of the scheduling just created:

<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2014-06-17T06:00:00Z</put-up>
  <take-down type="datetime">2015-11-01T06:00:00Z</take-down>
  <scheduling-type>archive</scheduling-type>
  <rights-status>cleared</rights-status>
  <rights-status-calculating type="boolean">false</rights-status-calculating>
  <workflow-status>completed</workflow-status>
  <publication-status>valid</publication-status>
  <tags>Action,Drama</tags>
  <external-id>C5080530001</external-id>
  <automatic-asset-selection type="boolean">false</automatic-asset-selection>
  <link rel="self" href="https://movida.bebanjo.net/api/schedulings/23816"/>
  <link rel="title" href="https://movida.bebanjo.net/api/titles/1"/>
  <link rel="asset" href="https://movida.bebanjo.net/api/assets/1231"/>
  <link rel="conflicts" href="https://movida.bebanjo.net/api/schedulings/23816/conflicts"/>
  <link rel="publications" href="https://movida.bebanjo.net/api/schedulings/23816/publications"/>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
  <link rel="workflow" href="https://movida.bebanjo.net/api/schedulings/23816/workflow"/>
  <link rel="metadata" href="https://movida.bebanjo.net/api/schedulings/23816/metadata"/>
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2014-06-17T06:00:00Z",
  "take_down": "2015-11-01T06:00:00Z",
  "scheduling_type": "archive",
  "rights_status": "cleared",
  "rights_status_calculating": false,
  "workflow_status": "completed",
  "publication_status": "valid",
  "tags": "Action,Drama",
  "external_id": "C5080530001",
  "automatic_asset_selection": false,
  "self_link": "https://movida.bebanjo.net/api/schedulings/23816",
  "title_link": "https://movida.bebanjo.net/api/titles/1",
  "asset_link": "https://movida.bebanjo.net/api/assets/1231",
  "conflicts_link": "https://movida.bebanjo.net/api/schedulings/23816/conflicts",
  "publications_link": "https://movida.bebanjo.net/api/schedulings/23816/publications",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1",
  "workflow_link": "https://movida.bebanjo.net/api/schedulings/23816/workflow",
  "metadata_link": "https://movida.bebanjo.net/api/schedulings/23816/metadata"
}

Updating a scheduling

As our introduction to REST APIs page suggests, you can update a scheduling using a PUT request to each scheduling URI. You only need to include those attributes of the scheduling that you wish to update:

$ cat scheduling_update.xml
$ cat scheduling_update.json
<scheduling>
  <put-up>2014-06-17T06:00:00Z</put-up>
  <take-down>2015-11-01T06:00:00Z</take-down>
  <external-id>C5080530001</external-id>
  <link rel="title" href="https://movida.bebanjo.net/api/titles/613"/>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
</scheduling>
{
  "put_up": "2014-06-17T06:00:00Z",
  "take_down": "2015-11-01T06:00:00Z",
  "external_id": "C5080530001",
  "title_link": "https://movida.bebanjo.net/api/titles/613",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1"
}
$ curl --digest -u robot_user:password -H "Content-Type: application/xml" -X PUT -d @scheduling_update.xml "https://movida.bebanjo.net/api/schedulings/23816"
$ curl --digest -u robot_user:password -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d @scheduling_update.json "https://movida.bebanjo.net/api/schedulings/23816"

As always Mediagenix On-Demand will return the full XML/JSON of the scheduling just updated:

<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2014-06-17T06:00:00Z</put-up>
  <take-down type="datetime">2015-11-01T06:00:00Z</take-down>
  <scheduling-type>archive</scheduling-type>
  <rights-status>cleared</rights-status>
  <rights-status-calculating type="boolean">false</rights-status-calculating>
  <workflow-status>completed</workflow-status>
  <publication-status>valid</publication-status>
  <tags>Action,Drama</tags>
  <external-id>C5080530001</external-id>
  <automatic-asset-selection type="boolean">false</automatic-asset-selection>
  <link rel="self" href="https://movida.bebanjo.net/api/schedulings/23816"/>
  <link rel="title_group" href="https://movida.bebanjo.net/api/title_groups/190"/>
  <link rel="title" href="https://movida.bebanjo.net/api/titles/613"/>
  <link rel="asset" href="https://movida.bebanjo.net/api/assets/1231"/>
  <link rel="conflicts" href="https://movida.bebanjo.net/api/schedulings/23816/conflicts"/>
  <link rel="publications" href="https://movida.bebanjo.net/api/schedulings/23816/publications"/>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
  <link rel="workflow" href="https://movida.bebanjo.net/api/schedulings/23816/workflow"/>
  <link rel="metadata" href="https://movida.bebanjo.net/api/schedulings/23816/metadata"/>
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2014-06-17T06:00:00Z",
  "take_down": "2015-11-01T06:00:00Z",
  "scheduling_type": "archive",
  "rights_status": "cleared",
  "rights_status_calculating": false,
  "workflow_status": "completed",
  "publication_status": "valid",
  "tags": "Action,Drama",
  "external_id": "C5080530001",
  "automatic_asset_selection": false,
  "self_link": "https://movida.bebanjo.net/api/schedulings/23816",
  "title_group_link": "https://movida.bebanjo.net/api/title_groups/190",
  "title_link": "https://movida.bebanjo.net/api/titles/613",
  "asset_link": "https://movida.bebanjo.net/api/assets/1231",
  "conflicts_link": "https://movida.bebanjo.net/api/schedulings/23816/conflicts",
  "publications_link": "https://movida.bebanjo.net/api/schedulings/23816/publications",
  "platform_link": "https://movida.bebanjo.net/api/platforms/1",
  "workflow_link": "https://movida.bebanjo.net/api/schedulings/23816/workflow",
  "metadata_link": "https://movida.bebanjo.net/api/schedulings/23816/metadata"
}

Note: if external-id is nil, it can be updated.

Updating the asset of a scheduling

The automatic-asset-selection tag in any scheduling indicates whether the asset of the current scheduling is automatically selected (i.e. the linear asset for catch-up schedulings, and the latest asset for archive schedulings), or whether the asset of the current scheduling is locked to one in particular, and won’t be changed automatically.

In order to update the asset of a scheduling, you’ll have to send a PUT request with a payload that includes both the automatic-asset-selection tag set to false and the asset link pointing to the Asset that you want to set. Note that only if the automatic-asset-selection is present in the payload and set to false, the asset will be updated. In any other case, Mediagenix On-Demand will ignore the contents of the asset link and make no changes.

Updating a catchup scheduling

It is possible to overwrite the starting and ending dates coming from the associated rule, you only need to set the put_up and take_down attributes with the values you want.

In case you want at some point the dates to follow again the values coming from the rule, you will need to provide and empty value to those attributes.

<scheduling>
  <put-up type="datetime"></put-up>
  <take-down type="datetime"></take-down>
</scheduling>
{
  "put_up": null,
  "take_down": null
}

You can also set a specific asset as explained before, and given you want to sync again the asset with the transmission, you only need to provide an empty asset url as you can see below (remember to pass the automatic-asset-selection attribute with false value, so the changes take effect).

<scheduling>
  <automatic-asset-selection type="boolean">false</automatic-asset-selection>
  <link rel='asset' href=''/>
</scheduling>
{
  "automatic_asset_selection": false,
  "asset_link": null
}

Deleting a scheduling

The following example shows how to destroy a particular scheduling. Only a DELETE HTTP request to its URL is required:

$ curl --digest -u robot_user:password -X DELETE "https://movida.bebanjo.net/api/schedulings/1"
$ curl --digest -u robot_user:password -H "Accept: application/json" -X DELETE "https://movida.bebanjo.net/api/schedulings/1"

The DELETE request doesn’t return anything, as that scheduling is now gone.

When a scheduling is deleted, if it had a workflow associated, this will be also deleted.

Deleted schedulings

Even after deleting a scheduling you are still able to retrieve itself and its associated data. Here it’s an example with cURL:

$ curl --digest -u robot_user https://movida.example.com/api/schedulings/10?deleted
$ curl --digest -u robot_user -H "Accept: application/json" https://movida.example.com/api/schedulings/10?deleted

Note how we have added the flag deleted to the job URL. This is part of the contract and therefore it’s important. Keep in mind that you will be receiving a 404 HTTP Status code instead of the XML/JSON representation of to the scheduling if you omit that flag while trying to get an already deleted scheduling.

Unlike a regular scheduling, this is how a deleted scheduling looks like:

<scheduling>
  <id type="integer">23816</id>
  <put-up type="datetime">2014-06-17T06:00:00Z</put-up>
  <take-down type="datetime">2015-11-01T06:00:00Z</take-down>
  <scheduling-type>archive</scheduling-type>
  <rights-status>cleared</rights-status>
  <rights-status-calculating type="boolean">false</rights-status-calculating>
  <workflow-status>completed</workflow-status>
  <publication-status>valid</publication-status>
  <tags>Action,Drama</tags>
  <external-id>C5080530001</external-id>
  <link rel="self" href="https://movida.bebanjo.net/api/schedulings/23816?deleted"/>
  <link rel="title_group" href="https://movida.bebanjo.net/api/title_groups/190"/>
  <link rel="title" href="https://movida.bebanjo.net/api/titles/613"/>
  <link rel="asset" href="https://movida.bebanjo.net/api/assets/1231"/>
  <link rel="conflicts" href="https://movida.bebanjo.net/api/schedulings/23816/conflicts?deleted"/>
  <link rel="publications" href="https://movida.bebanjo.net/api/schedulings/23816/publications?deleted"/>
  <link rel="platform" href="https://movida.bebanjo.net/api/platforms/1"/>
  <link rel="workflow" href="https://movida.bebanjo.net/api/schedulings/23816/workflow?deleted"/>
  <link rel="metadata" href="https://movida.bebanjo.net/api/schedulings/23816/metadata?deleted"/>
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2014-06-17T06:00:00Z",
  "take_down": "2015-11-01T06:00:00Z",
  "scheduling_type": "archive",
  "rights_status": "cleared",
  "rights_status_calculating": false,
  "workflow_status": "completed",
  "publication_status": "valid",
  "tags": "Action,Drama",
  "external_id": "C5080530001",
  "self_link": "https://movida.bebanjo.net/api/schedulings/13632774?deleted",
  "title_group_link": "https://movida.bebanjo.net/api/title_groups/10105051",
  "title_link": "https://movida.bebanjo.net/api/titles/3062280",
  "asset_link": "https://movida.bebanjo.net/api/assets/3563004",
  "conflicts_link": "https://movida.bebanjo.net/api/schedulings/13632774/conflicts?deleted",
  "publications_link": "https://movida.bebanjo.net/api/platforms/4525?deleted",
  "platform_link": "https://movida.bebanjo.net/api/platforms/4525",
  "workflow_link": "https://movida.bebanjo.net/api/schedulings/13632774/workflow?deleted",
  "metadata_link": "https://movida.bebanjo.net/api/schedulings/13632774/metadata?deleted"
}

As you can see, Mediagenix On-Demand automatically adds the deleted flag to the scheduling self link and also to the links to the different kind of resources associated with the scheduling. Of course, you are free to follow these links when needed in order to retrieve these resources from the API.

Finally, it’s also possible to retrieve the list of deleted schedulings from a given platform/title group/title, again, by using the deleted flag like the following cURL example. Take into account that the pagination mechanism and all the filters in the Accessing schedulings section above will continue gloriously working with deleted schedulings.

$ curl --digest -u robot_user:password https://movida.example.com/api/titles/613/schedule/schedulings?deleted
$ curl --digest -u robot_user:password -H "Accept: application/json" https://movida.example.com/api/titles/613/schedule/schedulings?deleted

These are the two only operations allowed on deleted schedulings. If you try to update or delete an already deleted scheduling (using the deleted flag), the response will be a 405 (Method Not Allowed) HTTP Status code. Additionally, making a POST request to the schedulings URL adding the deleted flag will return the aforementioned 405 HTTP Status.

Some accounts will show two assets links.

<scheduling>
  <id type="integer">9005222</id>
  <put-up type="datetime">2014-01-20T06:50:00+00:00</put-up>
  <take-down type="datetime">2015-01-20T06:50:00+00:00</take-down>
  ...
  <link rel="self" href="https://movida.bebanjo.net/api/schedulings/900577"/>
  <link rel="asset" href="https://movida.bebanjo.net/api/assets/240571"/>
  <link rel="assets" href="https://movida.bebanjo.net/api/schedulings/900577/assets"/>
  ...
</scheduling>
{
  "resource_type": "scheduling",
  "id": 23816,
  "put_up": "2014-01-20T06:50:00+00:00",
  "take_down": "2015-01-20T06:50:00+00:00",
  // ...
  "self_link": "https://movida.bebanjo.net/api/schedulings/900577",
  "asset_link": "https://movida.bebanjo.net/api/assets/240571",
  "assets_link": "https://movida.bebanjo.net/api/schedulings/900577/assets",
  // ...
}

For historical reasons, the rel="assets" is a deprecated resource that should not be use anymore. If you are new integrator and you only see the rel="asset" you can ignore this. In case you see both links you must use rel="asset".