Skip to content

Public API

Public Legaciti API for publication discovery and researcher browsing. The ingestion entrypoint is documented separately because it is intended for controlled clients.

Version: 1.0.0

Raw OpenAPI JSON: /openapi/public-api.json

MethodPathSummary
GET/healthHealth check

Health check Simple worker health endpoint. Authentication: Public Tags: Health

No parameters.

No request body.

Content type: application/json

{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok"
]
}
},
"required": [
"status"
]
}
MethodPathSummary
POST/api/ingestQueue public ingestion

Queue public ingestion Queues one or more ORCID ingestion jobs from the public API surface. Intended for controlled clients using API keys. Authentication: API key (X-API-Key) Tags: Ingestion

No parameters.

Content type: application/json

{
"type": "object",
"properties": {
"orcid_ids": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"orcid_ids"
],
"additionalProperties": false
}

Content type: application/json

{
"type": "object",
"properties": {
"queued": {
"type": "integer"
},
"requested": {
"type": "integer"
}
},
"required": [
"queued",
"requested"
]
}
MethodPathSummary
GET/v1/publicationsList visible publications
GET/v1/doi/{doi}Get visible publication by DOI

List visible publications Returns public publications with search, sort, and metadata filters. Authentication: Public Tags: Publications

NameInTypeRequiredDescription
pagequeryintegeryes1-based page number.
per_pagequeryintegeryesItems per page.
qquerystringyesTitle search term.
sortquerystringyesSort field.
dirquerystringyesSort direction.
publication_typequerystringnoPublication type filter.
publication_yearqueryintegernoPublication year filter.
min_cited_byqueryintegernoMinimum citation count filter.

No request body.

Content type: application/json

{
"type": "object",
"properties": {
"publications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"doi": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"doi_url": {
"type": "string"
},
"publication_date": {
"type": [
"string",
"null"
]
},
"publication_year": {
"type": [
"integer",
"null"
]
},
"publication_type": {
"type": [
"string",
"null"
]
},
"cited_by_count": {
"type": [
"integer",
"null"
]
},
"last_fetched_at": {
"type": "integer"
}
},
"required": [
"doi",
"doi_url",
"last_fetched_at"
]
}
},
"page": {
"type": "integer"
},
"per_page": {
"type": "integer"
},
"total": {
"type": "integer"
},
"pages": {
"type": "integer"
},
"sort": {
"type": "string"
},
"dir": {
"type": "string"
},
"q": {
"type": "string"
},
"publication_type": {
"type": [
"string",
"null"
]
},
"publication_year": {
"type": [
"integer",
"null"
]
},
"min_cited_by": {
"type": [
"integer",
"null"
]
}
},
"required": [
"publications",
"page",
"per_page",
"total",
"pages",
"sort",
"dir",
"q"
]
}

Content type: application/json

{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"details": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"required": [
"error"
],
"additionalProperties": true
}

Get visible publication by DOI Returns the merged visible publication payload for a DOI when the record is public. Authentication: Public Tags: Publications

NameInTypeRequiredDescription
doipathstringyesDOI path parameter, URL-encoded if necessary.

No request body.

Content type: application/json

{
"type": "object",
"properties": {
"doi": {
"type": "string"
},
"data": {
"type": "object",
"additionalProperties": true
},
"publication_date": {
"type": [
"string",
"null"
]
},
"publication_year": {
"type": [
"integer",
"null"
]
},
"publication_type": {
"type": [
"string",
"null"
]
},
"cited_by_count": {
"type": [
"integer",
"null"
]
},
"is_retracted": {
"type": "boolean"
},
"open_access_status": {
"type": [
"string",
"null"
]
},
"enriched_metadata": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
},
"last_fetched_at": {
"type": "integer"
},
"last_edited_at": {
"type": [
"integer",
"null"
]
},
"edit_count": {
"type": "integer"
}
},
"required": [
"doi",
"data",
"is_retracted",
"last_fetched_at",
"edit_count"
]
}

404 - Publication not found or not public.

Section titled “404 - Publication not found or not public.”

Content type: application/json

{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"details": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"required": [
"error"
],
"additionalProperties": true
}
MethodPathSummary
GET/v1/researchersList public researchers
GET/v1/researchers/{orcid}Get public researcher
GET/v1/researchers/{orcid}/publicationsList public researcher publications

List public researchers Returns researchers that have at least one visible public publication. Authentication: Public Tags: Researchers

NameInTypeRequiredDescription
pagequeryintegeryes1-based page number.
per_pagequeryintegeryesItems per page.
qquerystringyesSearch term for name or ORCID.

No request body.

Content type: application/json

{
"type": "object",
"properties": {
"researchers": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"page": {
"type": "integer"
},
"per_page": {
"type": "integer"
},
"total": {
"type": "integer"
},
"pages": {
"type": "integer"
},
"q": {
"type": "string"
}
},
"required": [
"researchers",
"page",
"per_page",
"total",
"pages",
"q"
]
}

Content type: application/json

{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"details": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"required": [
"error"
],
"additionalProperties": true
}

Get public researcher Returns a single researcher and the count of public publications linked to that ORCID. Authentication: Public Tags: Researchers

NameInTypeRequiredDescription
orcidpathstringyesResearcher ORCID identifier.

No request body.

Content type: application/json

{
"type": "object",
"additionalProperties": true
}

Content type: application/json

{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"details": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"required": [
"error"
],
"additionalProperties": true
}

List public researcher publications Returns visible public publications linked to a single researcher. Authentication: Public Tags: Researchers

NameInTypeRequiredDescription
orcidpathstringyesResearcher ORCID identifier.
pagequeryintegeryes1-based page number.
per_pagequeryintegeryesItems per page.
sortquerystringyesSort field.
dirquerystringyesSort direction.

No request body.

200 - Paginated public publication list for one researcher.

Section titled “200 - Paginated public publication list for one researcher.”

Content type: application/json

{
"type": "object",
"properties": {
"publications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"doi": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"doi_url": {
"type": "string"
},
"publication_date": {
"type": [
"string",
"null"
]
},
"publication_year": {
"type": [
"integer",
"null"
]
},
"publication_type": {
"type": [
"string",
"null"
]
},
"cited_by_count": {
"type": [
"integer",
"null"
]
},
"last_fetched_at": {
"type": "integer"
}
},
"required": [
"doi",
"doi_url",
"last_fetched_at"
]
}
},
"page": {
"type": "integer"
},
"per_page": {
"type": "integer"
},
"total": {
"type": "integer"
},
"pages": {
"type": "integer"
},
"sort": {
"type": "string"
},
"dir": {
"type": "string"
},
"q": {
"type": "string"
},
"publication_type": {
"type": [
"string",
"null"
]
},
"publication_year": {
"type": [
"integer",
"null"
]
},
"min_cited_by": {
"type": [
"integer",
"null"
]
}
},
"required": [
"publications",
"page",
"per_page",
"total",
"pages",
"sort",
"dir",
"q"
]
}

Content type: application/json

{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"details": {
"oneOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"required": [
"error"
],
"additionalProperties": true
}