abacusai.health_source_catalog_entry

Classes

HealthSourceCatalogEntry

One provider the Health Data Sources surface can show — what it is called, how it looks, and how (or

Module Contents

class abacusai.health_source_catalog_entry.HealthSourceCatalogEntry(client, provider=None, name=None, connectName=None, category=None, kind=None, color=None, glyph=None, iconUrl=None, iconStyle=None, attributionRequired=None, connectMode=None, primaryRank=None, comingSoon=None, deprecating=None, closedToNew=None, directUpload=None, mobileOnlyDetail=None)

Bases: abacusai.return_class.AbstractApiClass

One provider the Health Data Sources surface can show — what it is called, how it looks, and how (or

Parameters:
  • client (ApiClient) – An authenticated API Client instance

  • provider (str) – Provider key (oura, fitbit, garmin, …), matching HealthDataSource.provider.

  • name (str) – Brand name, shown as-is (never translated). What a reading, workout or insight from this provider is attributed to.

  • connectName (str) – What the connect tile and the connected-source row call it, as-is. Equal to name unless the brand distinguishes its app from its devices: Garmin’s guidelines want the connection presented as “Garmin Connect” and the data attributed to “Garmin”.

  • category (str) – Stable display key the client maps to a translated label (Wearable, Fitness, Smart scale, Nutrition, Medical, CGM).

  • kind (str) – wearable | nutrition | cgm — the ingestion-side data shape, not a user-facing label.

  • color (str) – Hex brand colour for the circular source badge.

  • glyph (str) – One or two characters drawn on that badge when no icon renders.

  • iconUrl (str) – For icon_style mark, a WHITE monochrome mark on transparency, to be composited over color. One asset works in light and dark, on web and native. For icon_style tile, the provider’s own app tile, to be drawn exactly as served. Absent for a provider whose icon isn’t published yet — draw glyph instead.

  • iconStyle (str) – mark (the default: the white mark on a color disc, the shape every badge and disc stack draws) | tile (the provider’s app tile, drawn unaltered as a rounded square and never tinted, cropped to a circle or placed in a disc stack — Garmin’s brand guidelines forbid its mark in avatars and badges, so a client names such a provider in text where it would have drawn a disc).

  • attributionRequired (bool) – The provider’s brand terms require its name beside every view of its data, however many devices the user has (Garmin: “Garmin [device model]” adjacent to each data title). A client otherwise names the device only when there is more than one to tell apart; with any connected provider carrying this it names them always. Always present.

  • connectMode (str) – web_oauth (Terra’s hosted OAuth from a browser) | mobile_app (on-device SDK only — the phone health stores). Derived from the same provider tuple the connect endpoint enforces, so a client that offers what this says can never be refused for offering the wrong thing.

  • primaryRank (int) – Tie-break order when several connected devices report the SAME metric and are otherwise equally good witnesses — lower wins, unranked providers sort last. Served so the insight cards and a client’s metrics view attribute a reading to the same device.

  • comingSoon (bool) – Held back from launch — list it, but offer no way to connect it. Decided by the server alone (source_catalog.COMING_SOON_PROVIDERS, lifted per org for a held provider this org connects directly — Garmin on our OAuth; for Health Connect, whose Terra path is retired, it is not direct_upload), so web and app agree on what has shipped.

  • deprecating (bool) – Supported, but the provider is winding the integration down (Google Fit’s REST API in favour of Health Connect) — best-effort.

  • closedToNew (bool) – Takes no NEW users (source_catalog.CLOSED_TO_NEW_PROVIDERS): a user with no connected row of it is offered no tile and pointed at their phone’s own store, while a user who holds one keeps it — syncing, reconnectable, disconnectable; once disconnected they are new again. Per provider, the same for every org; the client answers “is this user new to it” from the sources list, which is exactly the server’s test (models.has_live_source). The connect endpoint refuses what a client still offers.

  • directUpload (bool) – For a mobile_app provider, whether THIS org’s app connects it on our own pipeline — the app reads the phone’s health store and uploads to _uploadHealthKitSamples — rather than through Terra’s on-device SDK. True for apple_health; true for health_connect on an org on health_health_connect_direct; false for every other provider. Always present.

  • mobileOnlyDetail (str) – Why a browser can’t connect this one, for a web user. Present only when connect_mode is mobile_app.

provider = None
name = None
connect_name = None
category = None
kind = None
color = None
glyph = None
icon_url = None
icon_style = None
attribution_required = None
connect_mode = None
primary_rank = None
coming_soon = None
deprecating = None
closed_to_new = None
direct_upload = None
mobile_only_detail = None
deprecated_keys
__repr__()
to_dict()

Get a dict representation of the parameters in this class

Returns:

The dict value representation of the class parameters

Return type:

dict