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 descriptionsdrugs: 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 --tableBecause 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
| entity | fields |
|---|---|
drugs | 73 |
trials | 62 |
deals | 27 |
companies | 26 |
news | 26 |
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.
--fieldsnarrows it; it can't widen it. --tableshows a readable subset per entity. That subset is a terminal-width decision, not the contract.gosset schemais the contract.