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