Download OpenAPI specification:Download
An interface enabling transit authorities to schedule content to Outfront screens.
All requests to Transit API v2 use a Bearer token passed in the Authorization header. We can provide you with a Bearer token that is specific to your organization.
An Asset is any piece of content uploaded for eventual display on a Screen. Assets can be images, videos, or ZIP files containing HTML.
limit | number [ 1 .. 100 ] |
page | number >= 1 |
sort | string (AssetSortParameter) Enum: "createdAt" "-createdAt" "id" "-id" "name" "-name" "updatedAt" "-updatedAt" |
object |
{- "data": [
- {
- "type": "assets",
- "fileType": "image",
- "format": "string",
- "name": "string",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "source": "vle"
}
], - "meta": { }
}
An Asset that is not finished processing cannot be associated with a Schedule; attempting to create a Schedule that relates to an unprocessed Asset will result in an error.
You'll know that your Asset is finished process when in has a non-null
contentUrl
. At this point, the Asset will also include metadata about
your file.
source required | string Enum: "vle" "broadsign" |
name required | string >= 2 characters |
file required | string <binary> |
{- "data": {
- "type": "assets",
- "fileType": "image",
- "format": "string",
- "name": "string",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "source": "vle"
}
}
{- "data": {
- "type": "assets",
- "fileType": "image",
- "format": "string",
- "name": "string",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "source": "vle"
}
}
{- "data": {
- "type": "assets",
- "fileType": "image",
- "format": "string",
- "name": "string",
- "id": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "source": "vle"
}
}
A Screen (also known as a “Player” or “Liveboard”) represents the physical hardware that will display Assets. Screens have names, tags, and other metadata that help describe their purpose, location, and orientation.
limit | number [ 1 .. 100 ] |
page | number >= 1 |
sort | string (ScreenSortParameter) Enum: "id" "-id" "name" "-name" "createdAt" "-createdAt" "source" "-source" |
object When specified, all key-value pairs must match a Screen's criteria for it to be included. If a value is an array, then any value in the array may match the corresponding criterion. This parameter accepts identical input as Schedules' The only difference is that
|
{- "data": [
- {
- "type": "screens",
- "id": "string",
- "source": "vle",
- "name": "string",
- "hasPartnerRegion": true,
- "criteria": {
- "property1": "string",
- "property2": "string"
}
}
], - "meta": { }
}
id required | string |
object |
{- "data": {
- "name": "string",
- "value": "string"
}
}
{- "data": {
- "type": "criteria",
- "id": "string",
- "screenId": "string",
- "name": "string",
- "value": "string"
}
}
A collection of all the Screens targeted by the specified Schedule.
This collection is not editable directly and instead is the result
set of the Schedule's screensFilter
attribute.
id required | string |
limit | number [ 1 .. 100 ] |
page | number >= 1 |
sort | string (ScreenSortParameter) Enum: "id" "-id" "name" "-name" "createdAt" "-createdAt" "source" "-source" |
{- "data": [
- {
- "type": "screens",
- "id": "string",
- "source": "vle",
- "name": "string",
- "hasPartnerRegion": true,
- "criteria": {
- "property1": "string",
- "property2": "string"
}
}
], - "meta": { }
}
limit | number [ 1 .. 100 ] |
page | number >= 1 |
sort | string (ScheduleSortParameter) Enum: "deployedScreensCount" "-deployedScreensCount" "endsAt" "-endsAt" "id" "-id" "startsAt" "-startsAt" "priority" "-priority" "targetedScreensCount" "-targetedScreensCount" "weight" "-weight" "createdAt" "-createdAt" "updatedAt" "-updatedAt" |
{- "data": [
- {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
], - "meta": { }
}
Creating a Schedule will begin delivery of the specified Assets to the targeted Screens immediately, though it can take some time before the Assets are actually visible on the Screens.
Note that for Broadsign Screens, Assets will only be scheduled once every Screen type in a targeted Consist has been assigned content, and that content will only be visible on Screens during the times that all Screen types would be showing content.
For example, on a Consist with Square and Cove screens, creating a Schedule that targets Squares on that Consist from Oct 1 to Oct 31 will have no immediate effect. Proceeding to create a Schedule that targets Coves on that Consist from Oct 15 to Nov 15 will result in Squares and Coves showing their targeted content from Oct 15 to Oct 31, and nothing at any other time.
To reduce confusion, it is recommended that you create Schedules with a very long duration, fallback priority, and broad location-based targeting for every Broadsign Screen type before doing anything else with these Screens.
required | object |
{- "data": {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
}
{- "data": {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
}
{- "data": {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
}
id required | string |
required | object |
{- "data": {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
}
{- "data": {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
}
A collection of all the Schedules that target the specified Screen.
This collection is not editable directly and instead is the result
set of the Schedules’ respective screensFilter
attributes.
id required | string |
limit | number [ 1 .. 100 ] |
page | number >= 1 |
sort | string (ScheduleSortParameter) Enum: "deployedScreensCount" "-deployedScreensCount" "endsAt" "-endsAt" "id" "-id" "startsAt" "-startsAt" "priority" "-priority" "targetedScreensCount" "-targetedScreensCount" "weight" "-weight" "createdAt" "-createdAt" "updatedAt" "-updatedAt" |
{- "data": [
- {
- "type": "schedules",
- "id": "string",
- "startsAt": "2019-08-24T14:15:22Z",
- "endsAt": "2019-08-24T14:15:22Z",
- "screensFilter": {
- "property1": "string",
- "property2": "string"
}, - "targetedScreensCount": 0,
- "deployedScreensCount": 0,
- "assetIds": [
- "string"
], - "priority": "emergency",
- "weight": 0
}
], - "meta": { }
}
If a Broadsign Schedule with a priority of emergency
is currently
active for the specified Account, this endpoint returns the content of
that Schedule presented in an HTML view and wrapped in a ZIP file with a
MIME type of application/x-html-package
. If no such Schedule exists,
this endpoint returns a 404.
id required | string |
{- "errors": [
- "string"
]
}
Returns a representation of the Transit API's resulting data in Broadsign. This structure is loosely defined and only really meant for human inspection. It is not recommended to depend on the structure of this response remaining consistent.
{ }
Returns a representation of the Transit API's resulting data in VLE. This structure is loosely defined and only really meant for human inspection. It is not recommended to depend on the structure of this response remaining consistent.
page | number >= 1 |
groupId | string |
{ }
Returns a read-only resource with some additional information about the user to whom the current access token belongs.
{- "data": {
- "type": "accounts",
- "id": "string",
- "name": "string",
- "projectId": "string",
- "partnerTag": "string",
- "customerId": "string"
}
}
Returns a read-only resource listing all criteria that would match an existing screen. A Schedule may be created using criteria that do not exist on any screen, for preparing future screens, but in most cases this is not the desired effect. The data from this endpoint can help in pre-populating form fields, for example.
If no filter for screen source is specified, the filter defaults to only showing criteria for VLE screens.
object |
{- "data": [
- {
- "type": "criteria",
- "id": "string"
}
]
}
Returns a read-only resource listing all values for a given criterion that are present on existing Screens. A Schedule may be created using criteria that do not exist on any screen, for preparing future screens, but in most cases this is not the desired effect. The data from this endpoint can help in pre-populating form fields, for example.
If no filter for screen source is specified, the filter defaults to only showing values for criteria on VLE screens.
id required | string |
object |
{- "data": {
- "type": "criteria",
- "id": "string",
- "values": [
- "string"
]
}
}