Release 4.1.9 (latest)  


• Support time_start in / CreateInstantGame endpoint: This feature will allow the processing of the video with the with the following logic: 

- If there is not information provided about the if the field time_start is omitted from the request, the processing -of the video starts from the very beginning of the video. (This part is unchanged) 

- if the request is submitted more than 10mn before kickoff, the deployment of processing pipeline is scheduled.  Which means that the calibration refinement will be triggered as well 

- otherwise, if game order is submitted between 5mn and 10 min before kickoff, the processing pipeline will be deployed right away to be ready at kickoff. 

- otherwise, the processing pipeline is not going to be ready on time. In this scenario the pipeline will start the processing 30 seconds before kickoff. There will be a few additional constraints in that case:  streams are required in the game order and can’t be submitted later, otherwise the game order is rejected  streams must be “seekable”, which means old segments of the video are accessible. This can’t apply to “true” live streaming protocols such as RTSP and SRT 

• New endpoint GameStatusCodes: This endpoint will allow to retrieve the full list of error codes and descriptions. The StatusCodes endpoint explains the status_code in the Games model.

• Support of 3-digit player numbers (from 0 to 999, formerly only supported from 1 to 99). This change impacts: TeamAwayLineup  TeamAwayPlayers  TeamHoimeLineup  TeamHomePlayers  Events  Tracks 



• Specify semantic identification for IDs as uuid. Applies to venue, phase and game IDs.

• Remove obsolete properties from the Game model: team_home_formation, team_away_formation, team_home_logo and team_away_logo.

• Remove obsolete properties from the Phase model: time_start, time_end, team_home_redcards, team_home_substitutions, team_home_kickoff, team_home_is_left, team_away_redcards andteam_away_substitutions.

• Documentation readability improvement: regroup endpoints in 4 categories Games, Venues, Phases and User.



We recommend our users to use the version 4 of this API, which is now generally available. API Version 3 is still available, but from now on new features will be shipped in the version 4 only.


• From API v4, authentication relies on JWT tokens. Therefore it’s now required to use the corresponding Bearer schema.

• Remove _ in endpoints GET|POST https://api.signality.com/v3/games/{id}/_streams, so it’s now https://api.signality.com/v4/games/{id}/streams

• API v4 proposes a different workflow to submit new calibrations. In API v3 it was required to first create a new calibration before submitting jpeg images, one image at a time. In API v4, there’s a single endpoint to submit images on new calibration requests using multipart/form-data. See https://help.signality.com/api/#operation/VenueCalibrationController.postCalibrationWithImages for details


• While previous version relied on swagger, OpenAPI v3 is now supported by default. That should considerably improve the readibility and compliance of the specifications.

• Starting from version 4.0.0, the API service supports semantic versioning using url prefix, such as /v4.0.0/. Note that /v4/ would always redirect towards the most recent version of the API.


• Phase model is accessible using its number property, in addition to phaseId. Example: GET /v4.0.0/games/<GAME_ID>/phases/1.

• For each data channel, tracks, events and stats, GET operations returned additional metadata in the HTTP header:

--- `ContentLength`: indicate the length of the body in bytes

--- `LastModified`: when data was last modified

--- `Version`: to indicate what's the version format of the data

--- `Stage`: `live` or `final`, for `tracks` channel only.

Those metadata fields can also be retrieved independently of the data itself, by using HEAD operations on the same endpoints, aka. HEAD https://api.signality.com/v4.0.0/games/{gameId}/phases/{phaseIdOrNumber}/tracks

3.6.0 (End-Of-Life Announcement)

-- Add team_home_colors and team_away_colors properties to the Game model, an array of strings describing team jersey colors in hexadecimal notation

-- /instant, /request and /plan endpoints support team_home_colors and team_away_colors new properties


-- new property status_code in Game model indicating the outcome (more detailed documentation will follow) :

- 1XX: deployment failure, aka. lack of ressources
- 2XX: processing failure, aka. missing streams at kickoff, crash etc.
- 3XX: data innacuracy, aka. calibration being off, missing substitution etc.


-- new property deployment_state in Game model to indicate the state of the processing pipeline:

"deployment_state": {
    "default": "WaitingForValidation",
    "enum": [
    "description": "state of processing pipeline",
    "type": "string"


New endpoints to manipulate calibrations

-- GET venues/{id}/calibrations to list calibrations of a venue

-- GET venues/{id}/calibrations/{fk} to get a specific calibration

-- POST venues/{id}/calibrations to create a new calibration

-- POST venues/{id}/calibrations/{fk}/image/{label} to upload a new image for an existing calibration


-- endpoints /plan, /instant and /request support a new property calibrationId in request payload. If not specified, the most recent calibration is used. For a calibration to be valid, calibrationId must refer to an existing calibration of the venue and the calibration must have at least one element in _views. If condition is not met, an error 400 is returned.


-- data_level type is now integer in openapi documentation

-- document request body for users/login

Breaking changes

-- change endpoint to create a new venue: POST venues (instead of POST venues/new) to match with naming convention


-- data_level is now exposed in Game model

see [Data levels](/concepts/levels/) for details

-- new property home_team_is_left in Phase model

true if home team is located on the left side of the pitch in regard to central camera’s positions.


-- new endpoint to create Venues /venues/new

-- new endpoint to submit still images from camera /venues/{id}/image/{label}


-- initial API release