Skip to content

List datasources

List the DataSources on a Signal

GET/v1/signals/{signal_id}/datasources

Each DataSource is already narrowed to what this Signal is entitled to.

Authenticate with an API key in X-Api-Key, or a bearer token in Authorization: Bearer <token>.

Parameters#

Path parameters#

  • signal_idstring · required

Example request#

Shell
curl "https://api.odysseysignal.app/v1/signals/{signal_id}/datasources" \
  -H "X-Api-Key: $ODYSSEY_API_KEY"

Response 200#

application/json.

  • idstring · required

  • typestring · required

    data_project today. The discriminator that keeps this contract open to other kinds of source.

  • labelstring · required

    What to show. The Signal's own label, falling back to the DataSource's name, so there is always something to display.

  • datasetsarray of objects · required

    DataSets readable on this DataSource, each with where to describe it.

    Show 4 fields
    • keystring · required

      Address of the DataSet in the URL path.

    • namestring · required

      What to call it. For Perception this is authored per brand list — Organisations, Products — which is the only thing that tells two perception datasets apart; the built-in datasets carry their own.

    • descriptionstring · nullable

      What it holds, where somebody wrote it down.

    • urlstring · required

      Where to describe it: its metrics, dimensions and period.

  • marketsarray of objects · required

    Markets readable on this DataSource.

    Show 2 fields
    • idinteger · required

      The market id on this DataSource, not a global scheme: Sweden can be 2 here and 752 on another DataSource.

    • labelstring · required

      Falls back to the id where the DataSource's registry does not name it, so a market never disappears from the list over a labelling gap.

  • languagestring · nullable

    The language labels and verbatims come back in.

  • urlstring · nullable

    Where to describe this DataSource, including the address of each of its DataSets.

  • entities_urlstring · nullable

    Where the brands this DataSource carries are listed, by brand list. A roster belongs to a brand list rather than to a DataSet, so it is published once here.

  • drivers_urlstring · nullable

    Where the drivers configured for this DataSource are listed, by brand list. Like the brand roster, a driver list belongs to a brand list rather than to a DataSet.

  • periods_urlstring · nullable

    Where this DataSource's periods are listed — in total and per DataSet.

Errors#

Errors are application/problem+json (RFC 9457): type, title, status, detail and, for some, more fields that say how to fix the call. The type is https://api.odysseysignal.app/problems/<code>.

StatusCodeWhen
400invalid-requestThe request is not valid for this DataSet; detail says why.
401unauthorizedNo credential, or one that is not accepted.
403forbiddenThe credential is valid but does not cover what was asked.
404not-foundNothing there, or nothing this credential may read.
422validation-failedThe request does not match the contract; errors lists each field.
429rate_limitedToo many requests, or the monthly quota is used up.
503unavailableA service behind the API did not answer; try again.