Skip to content

gosset schema

The published field contract for each entity: what a record can contain, and what names --fields will accept.

bash
gosset schema              # every entity, with field counts
gosset schema drugs        # the fields, with descriptions
drugs: 73 fields

  drug_id                     Stable Gosset identifier
  name                        Preferred name (INN where one exists)
  brand_names                 Marketed brand names
  code_names                  Development code names
  active_ingredient           Active ingredient
  ...

Why you'd reach for it

To find the right name for --fields. A field name the schema doesn't declare isn't an error you can see: the API rejects it with a 400, and a name that merely has no value on the rows you fetched comes back empty. Both look like missing data.

bash
gosset schema drugs | grep -i phase
gosset drugs --target PD-1 --fields name,phase,developers --table

Because the contract moved. Field names changed in v3: latest_phase became phase, display_name became name, symbol became ticker. Anything written against the older names returns:

{"error": "API error (400): unknown field(s) ['latest_phase'] for drugs. See GET /v3/schema/drugs."}

The schema is the answer to that error, and it's served by the API rather than carried in the CLI, so it can't go stale against the data.

Entities

entityfields
drugs73
trials62
deals27
companies26
news26

results and events are also published and reachable the same way.

Notes

  • The default JSON output already returns the full published schema for each record. --fields narrows it; it can't widen it.
  • --table shows a readable subset per entity. That subset is a terminal-width decision, not the contract. gosset schema is the contract.

Gosset Documentation