KosmoKrator

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.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.orcid.search({}))' --json
Read Lua docs headlessly
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.

workflow.lua
local orcid = app.integrations.orcid
local result = orcid.search({})

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.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.

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.

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_details
  • orcid_address
  • orcid_keywords
  • orcid_external_identifiers
  • orcid_researcher_urls
  • orcid_other_names

Activities

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:

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.
Metadata-derived Lua example
local result = app.integrations.orcid.search({})
print(result)

Functions

record Read

Read a full public ORCID record summary.

Lua path
app.integrations.orcid.record
Full name
orcid.orcid_record
ParameterTypeRequiredDescription
No parameters.
person Read

Read the public person section.

Lua path
app.integrations.orcid.person
Full name
orcid.orcid_person
ParameterTypeRequiredDescription
No parameters.
personal_details Read

Read public personal details.

Lua path
app.integrations.orcid.personal_details
Full name
orcid.orcid_personal_details
ParameterTypeRequiredDescription
No parameters.
address Read

Read public address/country data.

Lua path
app.integrations.orcid.address
Full name
orcid.orcid_address
ParameterTypeRequiredDescription
No parameters.
keywords Read

Read public keywords.

Lua path
app.integrations.orcid.keywords
Full name
orcid.orcid_keywords
ParameterTypeRequiredDescription
No parameters.
external_identifiers Read

Read public external identifiers.

Lua path
app.integrations.orcid.external_identifiers
Full name
orcid.orcid_external_identifiers
ParameterTypeRequiredDescription
No parameters.
researcher_urls Read

Read public researcher URLs.

Lua path
app.integrations.orcid.researcher_urls
Full name
orcid.orcid_researcher_urls
ParameterTypeRequiredDescription
No parameters.
other_names Read

Read public other names.

Lua path
app.integrations.orcid.other_names
Full name
orcid.orcid_other_names
ParameterTypeRequiredDescription
No parameters.
activities Read

Read public activities summary.

Lua path
app.integrations.orcid.activities
Full name
orcid.orcid_activities
ParameterTypeRequiredDescription
No parameters.
works Read

Read public works summary groups.

Lua path
app.integrations.orcid.works
Full name
orcid.orcid_works
ParameterTypeRequiredDescription
No parameters.
work Read

Read one public work by put code.

Lua path
app.integrations.orcid.work
Full name
orcid.orcid_work
ParameterTypeRequiredDescription
No parameters.
employments Read

Read public employment summaries.

Lua path
app.integrations.orcid.employments
Full name
orcid.orcid_employments
ParameterTypeRequiredDescription
No parameters.
employment Read

Read one public employment by put code.

Lua path
app.integrations.orcid.employment
Full name
orcid.orcid_employment
ParameterTypeRequiredDescription
No parameters.
educations Read

Read public education summaries.

Lua path
app.integrations.orcid.educations
Full name
orcid.orcid_educations
ParameterTypeRequiredDescription
No parameters.
education Read

Read one public education by put code.

Lua path
app.integrations.orcid.education
Full name
orcid.orcid_education
ParameterTypeRequiredDescription
No parameters.
qualifications Read

Read public qualification summaries.

Lua path
app.integrations.orcid.qualifications
Full name
orcid.orcid_qualifications
ParameterTypeRequiredDescription
No parameters.
qualification Read

Read one public qualification by put code.

Lua path
app.integrations.orcid.qualification
Full name
orcid.orcid_qualification
ParameterTypeRequiredDescription
No parameters.
invited_positions Read

Read public invited-position summaries.

Lua path
app.integrations.orcid.invited_positions
Full name
orcid.orcid_invited_positions
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
No parameters.
distinctions Read

Read public distinction summaries.

Lua path
app.integrations.orcid.distinctions
Full name
orcid.orcid_distinctions
ParameterTypeRequiredDescription
No parameters.
distinction Read

Read one public distinction by put code.

Lua path
app.integrations.orcid.distinction
Full name
orcid.orcid_distinction
ParameterTypeRequiredDescription
No parameters.
memberships Read

Read public membership summaries.

Lua path
app.integrations.orcid.memberships
Full name
orcid.orcid_memberships
ParameterTypeRequiredDescription
No parameters.
membership Read

Read one public membership by put code.

Lua path
app.integrations.orcid.membership
Full name
orcid.orcid_membership
ParameterTypeRequiredDescription
No parameters.
services Read

Read public service summaries.

Lua path
app.integrations.orcid.services
Full name
orcid.orcid_services
ParameterTypeRequiredDescription
No parameters.
service Read

Read one public service by put code.

Lua path
app.integrations.orcid.service
Full name
orcid.orcid_service
ParameterTypeRequiredDescription
No parameters.
fundings Read

Read public funding summaries.

Lua path
app.integrations.orcid.fundings
Full name
orcid.orcid_fundings
ParameterTypeRequiredDescription
No parameters.
funding Read

Read one public funding by put code.

Lua path
app.integrations.orcid.funding
Full name
orcid.orcid_funding
ParameterTypeRequiredDescription
No parameters.
peer_reviews Read

Read public peer-review summaries.

Lua path
app.integrations.orcid.peer_reviews
Full name
orcid.orcid_peer_reviews
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
No parameters.