Skip to content

List entities

List the brands this DataSource carries, by brand list

GET/v1/signals/{signal_id}/datasources/{datasource_id}/entities

A roster belongs to a brand list, not to a DataSet — the data project says how it is read and the same answer serves every DataSet scoped to that list. Grouped rather than flattened because a brand id is unique only within its list.

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

Parameters#

Path parameters#

  • signal_idstring · required

  • datasource_idstring · required

Example request#

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

Response 200#

application/json.

The brands a DataSource carries, grouped by brand list.

Grouped, never flattened. A brand id is unique only within its list: id 2 can be one brand under primary and another under secondary, so there is no total roster. count is how many entries are listed, not how many distinct brands exist.

The roster belongs to the brand list, so it is listed once here and serves every DataSet scoped to that list.

  • environmentstring · nullable

    The data environment the answer was read in, prod or test: the one Odyssey set on the Signal, or the one an Odyssey person picked for this call.

  • datasource_idstring · required

  • countinteger · required

  • brand_listsarray of objects · required

    Show 5 fields
    • idstring · required

      The brand list id. Also the suffix of a perception dataset id.

    • labelstring · nullable

      What the list is called.

    • dataset_idsarray of string · required

      DataSets on this DataSource scoped to this list. More than one is normal — a perception dataset and the conversations dataset commonly share a roster.

    • countinteger · required

    • entitiesarray of objects · required

      Show 6 fields
      • idstring or integer · required

      • labelstring · required

      • groupstring · nullable

      • typestring · nullable

      • descriptionstring · nullable

      • demand_spaceobject · nullable

        For an attribute: the demand space the survey assigns it to. Absent where there is none.

        Show 2 fields
        • idinteger · required

        • labelstring · required

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.