data
ORCID Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the ORCID KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.orcid.*.
Use lua_read_doc("integrations.orcid") 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
ORCID workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.orcid.search({}))' --json kosmo integrations:lua --eval 'print(docs.read("orcid"))' --json
kosmo integrations:lua --eval 'print(docs.read("orcid.search"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local orcid = app.integrations.orcid
local result = orcid.search({})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.orcid, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.orcid.default.* or app.integrations.orcid.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need ORCID, use the narrower 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.
ORCID
Namespace: orcid
ORCID provides researcher identifiers and public profile data. This integration uses the ORCID Public API v3.0 and returns ORCID JSON directly for JSON endpoints. Pass access_token when you have a /read-public bearer token; current public reads also work without host setup for public data.
Search
local ids = orcid.search({
q = 'family-name:Smith AND affiliation-org-name:"University of Oxford"',
rows = 10,
})
local expanded = orcid.expanded_search({
q = "spaceman",
rows = 5,
})
Use orcid_csv_search for CSV output:
local csv = orcid.csv_search({
q = "ringgold-org-id:1438",
fields = { "orcid", "given-name", "family-name", "current-institution-affiliation-name" },
})
CSV and XML responses are returned as body, status, and content_type.
Public Records
local record = orcid.record({
orcid = "0000-0002-1825-0097",
})
local person = orcid.person({
orcid = "0000-0002-1825-0097",
})
Person-section tools include:
orcid_personal_detailsorcid_addressorcid_keywordsorcid_external_identifiersorcid_researcher_urlsorcid_other_names
Activities
local activities = orcid.activities({ orcid = "0000-0002-1825-0097" })
local works = orcid.works({ orcid = "0000-0002-1825-0097" })
Summary tools:
orcid_worksorcid_employmentsorcid_educationsorcid_qualificationsorcid_invited_positionsorcid_distinctionsorcid_membershipsorcid_servicesorcid_fundingsorcid_peer_reviews
Detail tools use a put_code from the corresponding summary:
local work = orcid.work({
orcid = "0000-0002-1825-0097",
put_code = 9543020,
})
ORCID visibility rules apply. Private or limited-access items will not appear through public reads unless the supplied token permits them.
Raw agent markdown
# ORCID
Namespace: `orcid`
ORCID provides researcher identifiers and public profile data. This integration uses the ORCID Public API v3.0 and returns ORCID JSON directly for JSON endpoints. Pass `access_token` when you have a `/read-public` bearer token; current public reads also work without host setup for public data.
## Search
```lua
local ids = orcid.search({
q = 'family-name:Smith AND affiliation-org-name:"University of Oxford"',
rows = 10,
})
local expanded = orcid.expanded_search({
q = "spaceman",
rows = 5,
})
```
Use `orcid_csv_search` for CSV output:
```lua
local csv = orcid.csv_search({
q = "ringgold-org-id:1438",
fields = { "orcid", "given-name", "family-name", "current-institution-affiliation-name" },
})
```
CSV and XML responses are returned as `body`, `status`, and `content_type`.
## Public Records
```lua
local record = orcid.record({
orcid = "0000-0002-1825-0097",
})
local person = orcid.person({
orcid = "0000-0002-1825-0097",
})
```
Person-section tools include:
- `orcid_personal_details`
- `orcid_address`
- `orcid_keywords`
- `orcid_external_identifiers`
- `orcid_researcher_urls`
- `orcid_other_names`
## Activities
```lua
local activities = orcid.activities({ orcid = "0000-0002-1825-0097" })
local works = orcid.works({ orcid = "0000-0002-1825-0097" })
```
Summary tools:
- `orcid_works`
- `orcid_employments`
- `orcid_educations`
- `orcid_qualifications`
- `orcid_invited_positions`
- `orcid_distinctions`
- `orcid_memberships`
- `orcid_services`
- `orcid_fundings`
- `orcid_peer_reviews`
Detail tools use a `put_code` from the corresponding summary:
```lua
local work = orcid.work({
orcid = "0000-0002-1825-0097",
put_code = 9543020,
})
```
ORCID visibility rules apply. Private or limited-access items will not appear through public reads unless the supplied token permits them. local result = app.integrations.orcid.search({})
print(result) Functions
search Read
Search the ORCID registry using Solr syntax.
- Lua path
app.integrations.orcid.search- Full name
orcid.orcid_search
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
expanded_search Read
Search ORCID and return expanded identity/affiliation fields.
- Lua path
app.integrations.orcid.expanded_search- Full name
orcid.orcid_expanded_search
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
csv_search Read
Search ORCID and return CSV output columns.
- Lua path
app.integrations.orcid.csv_search- Full name
orcid.orcid_csv_search
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
record Read
Read a full public ORCID record summary.
- Lua path
app.integrations.orcid.record- Full name
orcid.orcid_record
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
person Read
Read the public person section.
- Lua path
app.integrations.orcid.person- Full name
orcid.orcid_person
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
personal_details Read
Read public personal details.
- Lua path
app.integrations.orcid.personal_details- Full name
orcid.orcid_personal_details
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
address Read
Read public address/country data.
- Lua path
app.integrations.orcid.address- Full name
orcid.orcid_address
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
keywords Read
Read public keywords.
- Lua path
app.integrations.orcid.keywords- Full name
orcid.orcid_keywords
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
external_identifiers Read
Read public external identifiers.
- Lua path
app.integrations.orcid.external_identifiers- Full name
orcid.orcid_external_identifiers
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
researcher_urls Read
Read public researcher URLs.
- Lua path
app.integrations.orcid.researcher_urls- Full name
orcid.orcid_researcher_urls
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
other_names Read
Read public other names.
- Lua path
app.integrations.orcid.other_names- Full name
orcid.orcid_other_names
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
activities Read
Read public activities summary.
- Lua path
app.integrations.orcid.activities- Full name
orcid.orcid_activities
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
works Read
Read public works summary groups.
- Lua path
app.integrations.orcid.works- Full name
orcid.orcid_works
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
work Read
Read one public work by put code.
- Lua path
app.integrations.orcid.work- Full name
orcid.orcid_work
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
employments Read
Read public employment summaries.
- Lua path
app.integrations.orcid.employments- Full name
orcid.orcid_employments
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
employment Read
Read one public employment by put code.
- Lua path
app.integrations.orcid.employment- Full name
orcid.orcid_employment
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
educations Read
Read public education summaries.
- Lua path
app.integrations.orcid.educations- Full name
orcid.orcid_educations
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
education Read
Read one public education by put code.
- Lua path
app.integrations.orcid.education- Full name
orcid.orcid_education
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
qualifications Read
Read public qualification summaries.
- Lua path
app.integrations.orcid.qualifications- Full name
orcid.orcid_qualifications
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
qualification Read
Read one public qualification by put code.
- Lua path
app.integrations.orcid.qualification- Full name
orcid.orcid_qualification
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
invited_positions Read
Read public invited-position summaries.
- Lua path
app.integrations.orcid.invited_positions- Full name
orcid.orcid_invited_positions
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
invited_position Read
Read one public invited position by put code.
- Lua path
app.integrations.orcid.invited_position- Full name
orcid.orcid_invited_position
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
distinctions Read
Read public distinction summaries.
- Lua path
app.integrations.orcid.distinctions- Full name
orcid.orcid_distinctions
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
distinction Read
Read one public distinction by put code.
- Lua path
app.integrations.orcid.distinction- Full name
orcid.orcid_distinction
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
memberships Read
Read public membership summaries.
- Lua path
app.integrations.orcid.memberships- Full name
orcid.orcid_memberships
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
membership Read
Read one public membership by put code.
- Lua path
app.integrations.orcid.membership- Full name
orcid.orcid_membership
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
services Read
Read public service summaries.
- Lua path
app.integrations.orcid.services- Full name
orcid.orcid_services
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
service Read
Read one public service by put code.
- Lua path
app.integrations.orcid.service- Full name
orcid.orcid_service
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
fundings Read
Read public funding summaries.
- Lua path
app.integrations.orcid.fundings- Full name
orcid.orcid_fundings
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
funding Read
Read one public funding by put code.
- Lua path
app.integrations.orcid.funding- Full name
orcid.orcid_funding
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
peer_reviews Read
Read public peer-review summaries.
- Lua path
app.integrations.orcid.peer_reviews- Full name
orcid.orcid_peer_reviews
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
peer_review Read
Read one public peer review by put code.
- Lua path
app.integrations.orcid.peer_review- Full name
orcid.orcid_peer_review
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||