KosmoKrator

data

openFDA Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the openFDA KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.openfda.*. Use lua_read_doc("integrations.openfda") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic openFDA workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.openfda.drug_event({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("openfda"))' --json
kosmo integrations:lua --eval 'print(docs.read("openfda.drug_event"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local openfda = app.integrations.openfda
local result = openfda.drug_event({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.openfda, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.openfda.default.* or app.integrations.openfda.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need openFDA, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

openFDA

Namespace: openfda

openFDA exposes public FDA datasets for drugs, medical devices, food, animal and veterinary products, cosmetics, tobacco, substances, identifiers, and historical documents. Most endpoints share the same query parameters:

  • search: fielded search expression
  • count: aggregate counts by field
  • sort: sort expression
  • limit: maximum results or count buckets
  • skip: pagination offset
  • api_key: optional openFDA API key for higher daily limits

Examples

local labels = openfda.drug_label({
  search = 'openfda.generic_name:"acetaminophen"',
  limit = 5,
})

local reactions = openfda.drug_event({
  search = 'patient.drug.openfda.generic_name:"metformin"',
  count = "patient.reaction.reactionmeddrapt.exact",
  limit = 10,
})

local recalls = openfda.food_enforcement({
  sort = "report_date:desc",
  limit = 10,
})

Dataset Tools

Drug datasets:

  • openfda_drug_event
  • openfda_drug_label
  • openfda_drug_enforcement
  • openfda_drug_ndc
  • openfda_drug_drugsfda
  • openfda_drug_shortages

Device datasets:

  • openfda_device_510k
  • openfda_device_classification
  • openfda_device_enforcement
  • openfda_device_event
  • openfda_device_pma
  • openfda_device_recall
  • openfda_device_registrationlisting
  • openfda_device_udi
  • openfda_device_covid19_serology

Other FDA datasets:

  • openfda_food_enforcement
  • openfda_food_event
  • openfda_animal_veterinary_event
  • openfda_cosmetic_event
  • openfda_tobacco_problem
  • openfda_other_nsde
  • openfda_other_substance
  • openfda_other_unii
  • openfda_other_historicaldocument

The response is the original JSON shape from openFDA, usually including meta and either results records or count buckets.

Raw agent markdown
# openFDA

Namespace: `openfda`

openFDA exposes public FDA datasets for drugs, medical devices, food, animal and veterinary products, cosmetics, tobacco, substances, identifiers, and historical documents. Most endpoints share the same query parameters:

- `search`: fielded search expression
- `count`: aggregate counts by field
- `sort`: sort expression
- `limit`: maximum results or count buckets
- `skip`: pagination offset
- `api_key`: optional openFDA API key for higher daily limits

## Examples

```lua
local labels = openfda.drug_label({
  search = 'openfda.generic_name:"acetaminophen"',
  limit = 5,
})

local reactions = openfda.drug_event({
  search = 'patient.drug.openfda.generic_name:"metformin"',
  count = "patient.reaction.reactionmeddrapt.exact",
  limit = 10,
})

local recalls = openfda.food_enforcement({
  sort = "report_date:desc",
  limit = 10,
})
```

## Dataset Tools

Drug datasets:

- `openfda_drug_event`
- `openfda_drug_label`
- `openfda_drug_enforcement`
- `openfda_drug_ndc`
- `openfda_drug_drugsfda`
- `openfda_drug_shortages`

Device datasets:

- `openfda_device_510k`
- `openfda_device_classification`
- `openfda_device_enforcement`
- `openfda_device_event`
- `openfda_device_pma`
- `openfda_device_recall`
- `openfda_device_registrationlisting`
- `openfda_device_udi`
- `openfda_device_covid19_serology`

Other FDA datasets:

- `openfda_food_enforcement`
- `openfda_food_event`
- `openfda_animal_veterinary_event`
- `openfda_cosmetic_event`
- `openfda_tobacco_problem`
- `openfda_other_nsde`
- `openfda_other_substance`
- `openfda_other_unii`
- `openfda_other_historicaldocument`

The response is the original JSON shape from openFDA, usually including `meta` and either `results` records or count buckets.
Metadata-derived Lua example
local result = app.integrations.openfda.drug_event({})
print(result)

Functions

drug_event Read

Query FAERS drug adverse event reports.

Lua path
app.integrations.openfda.drug_event
Full name
openfda.openfda_drug_event
ParameterTypeRequiredDescription
No parameters.
drug_label Read

Query structured product labeling records.

Lua path
app.integrations.openfda.drug_label
Full name
openfda.openfda_drug_label
ParameterTypeRequiredDescription
No parameters.
drug_enforcement Read

Query drug recall enforcement reports.

Lua path
app.integrations.openfda.drug_enforcement
Full name
openfda.openfda_drug_enforcement
ParameterTypeRequiredDescription
No parameters.
drug_ndc Read

Query NDC directory product listings.

Lua path
app.integrations.openfda.drug_ndc
Full name
openfda.openfda_drug_ndc
ParameterTypeRequiredDescription
No parameters.
drugs Read

Query Drugs@FDA application data.

Lua path
app.integrations.openfda.drugs
Full name
openfda.openfda_drug_drugsfda
ParameterTypeRequiredDescription
No parameters.
drug_shortages Read

Query FDA drug shortage data.

Lua path
app.integrations.openfda.drug_shortages
Full name
openfda.openfda_drug_shortages
ParameterTypeRequiredDescription
No parameters.
device_510_k Read

Query medical device 510(k) clearances.

Lua path
app.integrations.openfda.device_510_k
Full name
openfda.openfda_device_510k
ParameterTypeRequiredDescription
No parameters.
device_classification Read

Query device classification records.

Lua path
app.integrations.openfda.device_classification
Full name
openfda.openfda_device_classification
ParameterTypeRequiredDescription
No parameters.
device_enforcement Read

Query device recall enforcement reports.

Lua path
app.integrations.openfda.device_enforcement
Full name
openfda.openfda_device_enforcement
ParameterTypeRequiredDescription
No parameters.
device_event Read

Query MAUDE medical device adverse events.

Lua path
app.integrations.openfda.device_event
Full name
openfda.openfda_device_event
ParameterTypeRequiredDescription
No parameters.
device_pma Read

Query premarket approval records.

Lua path
app.integrations.openfda.device_pma
Full name
openfda.openfda_device_pma
ParameterTypeRequiredDescription
No parameters.
device_recall Read

Query device recall records.

Lua path
app.integrations.openfda.device_recall
Full name
openfda.openfda_device_recall
ParameterTypeRequiredDescription
No parameters.
device_registration_listing Read

Query device establishment registration and listing records.

Lua path
app.integrations.openfda.device_registration_listing
Full name
openfda.openfda_device_registrationlisting
ParameterTypeRequiredDescription
No parameters.
device_udi Read

Query GUDID device identification records.

Lua path
app.integrations.openfda.device_udi
Full name
openfda.openfda_device_udi
ParameterTypeRequiredDescription
No parameters.
covid_19_serology Read

Query COVID-19 serology test evaluations.

Lua path
app.integrations.openfda.covid_19_serology
Full name
openfda.openfda_device_covid19_serology
ParameterTypeRequiredDescription
No parameters.
food_enforcement Read

Query food recall enforcement reports.

Lua path
app.integrations.openfda.food_enforcement
Full name
openfda.openfda_food_enforcement
ParameterTypeRequiredDescription
No parameters.
food_event Read

Query CAERS food, dietary supplement, and cosmetic adverse event reports.

Lua path
app.integrations.openfda.food_event
Full name
openfda.openfda_food_event
ParameterTypeRequiredDescription
No parameters.
animal_veterinary_event Read

Query animal and veterinary adverse event reports.

Lua path
app.integrations.openfda.animal_veterinary_event
Full name
openfda.openfda_animal_veterinary_event
ParameterTypeRequiredDescription
No parameters.
cosmetic_event Read

Query cosmetic adverse event reports.

Lua path
app.integrations.openfda.cosmetic_event
Full name
openfda.openfda_cosmetic_event
ParameterTypeRequiredDescription
No parameters.
tobacco_problem Read

Query tobacco product problem reports.

Lua path
app.integrations.openfda.tobacco_problem
Full name
openfda.openfda_tobacco_problem
ParameterTypeRequiredDescription
No parameters.
nsde Read

Query National Substance Data Exchange records.

Lua path
app.integrations.openfda.nsde
Full name
openfda.openfda_other_nsde
ParameterTypeRequiredDescription
No parameters.
substance Read

Query FDA substance records.

Lua path
app.integrations.openfda.substance
Full name
openfda.openfda_other_substance
ParameterTypeRequiredDescription
No parameters.
unii Read

Query Unique Ingredient Identifier records.

Lua path
app.integrations.openfda.unii
Full name
openfda.openfda_other_unii
ParameterTypeRequiredDescription
No parameters.
historical_documents Read

Query openFDA historical documents.

Lua path
app.integrations.openfda.historical_documents
Full name
openfda.openfda_other_historicaldocument
ParameterTypeRequiredDescription
No parameters.