Match External PLAY BY PLAY

A match involves a number of external events. These events aggregate to form an external play-by-play. The external play-by-play assigned to a match are controlled by these calls.

Get a list play-by-play external records for a match

get
/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external

Return a list of play-by-play external records for a match

Required scopes
This endpoint requires the following scopes:
  • : Read any data from the organization down
Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
fromTimestampstring · date-timeOptional

Where the date/time (UTC) this play-by-play event was sent >= this value

Example: 2018-08-16T18:00:00
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
limitinteger · int32 · min: 1 · max: 2000Optional

The maximum number of records to return. See Pagination for more information.

Default: 1000Example: 10
offsetinteger · int32Optional

The offset of the records. See Pagination for more information.

Example: 10
periodIdinteger · enumOptional

The identifier for the period

  • None Total match
  • 1 Period 1
  • 2 Period 2
  • 3 Period 3
  • 4 Period 4
  • 10 Extra time 1
  • 11 Shoot Out
Possible values:
toTimestampstring · date-timeOptional

Where the date/time (UTC) this play-by-play event was sent <= this value

Example: 2018-08-16T18:00:00
Responses
200

Successful operation

application/json
get
/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external
GET /v1/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "organizationId": "9",
      "organization": {
        "resourceType": "organizations",
        "id": "9"
      },
      "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "fixture": {
        "resourceType": "fixtures",
        "id": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc"
      },
      "periodId": 0,
      "section": "text",
      "events": {},
      "updated": "2025-11-19T06:24:29.682Z",
      "added": "2025-11-19T06:24:29.682Z"
    }
  ]
}

Delete all play-by-play external records for a match

delete
/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external

Delete all play-by-play external records for a match

Required scopes
This endpoint requires the following scopes:
  • : Write/Update any data from below the organization
Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
forceDeletebooleanOptional

Force a delete command to run and delete child records as well if there are existing records depending on the record.

Example: true
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
Responses
200

Successful operation

application/json
delete
/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external
DELETE /v1/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "organizationId": "9",
      "organization": {
        "resourceType": "organizations",
        "id": "9"
      },
      "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "fixture": {
        "resourceType": "fixtures",
        "id": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc"
      },
      "periodId": 0,
      "section": "text",
      "events": {},
      "updated": "2025-11-19T06:24:29.682Z",
      "added": "2025-11-19T06:24:29.682Z"
    }
  ]
}

Get a list of live play-by-play external records for a match

get
/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external/live

Return a list of live play-by-play external records for a match. This call will return external records of matches still in-progress if available. If the match is complete this call operates the same as the non 'live' route.

Rate limited to 2 requests every minute - returns HTTP 429 Too Many Requests if called more often.
Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Available scopes:
  • : Authenticate based on a specific OrganizationId
  • : Read data over multiple organizations using and *orggroup* code
  • : Write/Update any data from below the organization
  • : Read any data from the organization down
  • : Perform administration API calls
  • : Ability to manage organizations
  • : Perform system configuration API calls
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
fromTimestampstring · date-timeOptional

Where the date/time (UTC) this play-by-play event was sent >= this value

Example: 2018-08-16T18:00:00
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
limitinteger · int32 · min: 1 · max: 2000Optional

The maximum number of records to return. See Pagination for more information.

Default: 1000Example: 10
offsetinteger · int32Optional

The offset of the records. See Pagination for more information.

Example: 10
periodIdinteger · enumOptional

The identifier for the period

  • None Total match
  • 1 Period 1
  • 2 Period 2
  • 3 Period 3
  • 4 Period 4
  • 10 Extra time 1
  • 11 Shoot Out
Possible values:
toTimestampstring · date-timeOptional

Where the date/time (UTC) this play-by-play event was sent <= this value

Example: 2018-08-16T18:00:00
Responses
200

Successful operation

application/json
get
/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external/live
GET /v1/ice3/o/{organizationId}/fixtures/{fixtureId}/playbyplay/external/live HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "organizationId": "9",
      "organization": {
        "resourceType": "organizations",
        "id": "9"
      },
      "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "fixture": {
        "resourceType": "fixtures",
        "id": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc"
      },
      "periodId": 0,
      "section": "text",
      "events": {},
      "updated": "2025-11-19T06:24:29.682Z",
      "added": "2025-11-19T06:24:29.682Z"
    }
  ]
}

Get a full list of match external events, suitable for subsequent import.

get
/ice3/o/{organizationId}/fixtures/{fixtureId}/events/export/external

Includes play-by-play external events for a match

Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Available scopes:
  • : Authenticate based on a specific OrganizationId
  • : Read data over multiple organizations using and *orggroup* code
  • : Write/Update any data from below the organization
  • : Read any data from the organization down
  • : Perform administration API calls
  • : Ability to manage organizations
  • : Perform system configuration API calls
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
limitinteger · int32 · min: 1 · max: 1000Optional

The maximum number of records to return. See Pagination for more information.

Default: 10Example: 10
offsetinteger · int32Optional

The offset of the records. See Pagination for more information.

Example: 10
periodIdinteger · enumOptional

The identifier for the period

  • None Total match
  • 1 Period 1
  • 2 Period 2
  • 3 Period 3
  • 4 Period 4
  • 10 Extra time 1
  • 11 Shoot Out
Possible values:
Responses
200

Successful operation

application/json
get
/ice3/o/{organizationId}/fixtures/{fixtureId}/events/export/external
GET /v1/ice3/o/{organizationId}/fixtures/{fixtureId}/events/export/external HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "success": true
    }
  ]
}

Add or Update historical play-by-play external records for a match

post
/ice3/o/{organizationId}/fixtures/{fixtureId}/events/import/external

Depending on primary keys, Add a match play-by-play or update an existing external record. This call operates in bulk for all external events in a specific period. Note:This call should only be used to import historical data. Changes to current/live data show be performed only via your live capture software. If this call is used data may become invalid as statistics/actions may not be recalculated.

Required scopes
This endpoint requires the following scopes:
  • : Perform administration API calls
Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
Responses
200

Successful operation

application/json
post
/ice3/o/{organizationId}/fixtures/{fixtureId}/events/import/external
POST /v1/ice3/o/{organizationId}/fixtures/{fixtureId}/events/import/external HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "success": true
    }
  ]
}

Delete a match play-by-play external

delete
/ice3/o/{organizationId}/fixtures/{fixtureId}/periods/{periodId}/playbyplay/external

Delete a specific period play-by-play external from a match

Required scopes
This endpoint requires the following scopes:
  • : Write/Update any data from below the organization
Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
periodIdinteger · enumRequired

The identifier for the period

  • None Total match
  • 1 Period 1
  • 2 Period 2
  • 3 Period 3
  • 4 Period 4
  • 10 Extra time 1
  • 11 Shoot Out
Possible values:
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
forceDeletebooleanOptional

Force a delete command to run and delete child records as well if there are existing records depending on the record.

Example: true
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
sectionstring · max: 100Optional

The section of the period (sub-period)

Responses
200

Successful operation

application/json
delete
/ice3/o/{organizationId}/fixtures/{fixtureId}/periods/{periodId}/playbyplay/external
DELETE /v1/ice3/o/{organizationId}/fixtures/{fixtureId}/periods/{periodId}/playbyplay/external HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "organizationId": "9",
      "organization": {
        "resourceType": "organizations",
        "id": "9"
      },
      "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "fixture": {
        "resourceType": "fixtures",
        "id": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc"
      },
      "periodId": 0,
      "section": "text",
      "events": {},
      "updated": "2025-11-19T06:24:29.682Z",
      "added": "2025-11-19T06:24:29.682Z"
    }
  ]
}

Last updated

Was this helpful?