CSIRO ORCID API

The ORCID API from CSIRO — 3 operation(s) for orcid.

Operations 4

POST /orcid/v1/orcid/{orcidId} Register orcid for user #
GET /orcid/v1/orcid/all/works Get works for all users #
POST /orcid/v1/orcid/all/works Record work ids #
GET /orcid/v1/orcid/{orcidId}/works Get works for user #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/csiro:csiro-orcid-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

csiro-orcid-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Csiro ORCID API
  version: v2
  description: 'Operations tagged ORCID across 2 of this provider''s published API definitions: csiro-dap-orcid-v1-openapi.json, csiro-dap-orcid-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://data.csiro.au/dap
  description: Generated server url
security:
- basicAuth: []
- bearerAuth: []
- oauth2: []
tags:
- name: ORCID
paths:
  /orcid/v1/orcid/{orcidId}:
    post:
      tags:
      - ORCID
      operationId: registerOrcidForUser
      parameters:
      - name: orcidId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrcidUserDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                enum:
                - 100 CONTINUE
                - 101 SWITCHING_PROTOCOLS
                - 102 PROCESSING
                - 103 EARLY_HINTS
                - 200 OK
                - 201 CREATED
                - 202 ACCEPTED
                - 203 NON_AUTHORITATIVE_INFORMATION
                - 204 NO_CONTENT
                - 205 RESET_CONTENT
                - 206 PARTIAL_CONTENT
                - 207 MULTI_STATUS
                - 208 ALREADY_REPORTED
                - 226 IM_USED
                - 300 MULTIPLE_CHOICES
                - 301 MOVED_PERMANENTLY
                - 302 FOUND
                - 303 SEE_OTHER
                - 304 NOT_MODIFIED
                - 307 TEMPORARY_REDIRECT
                - 308 PERMANENT_REDIRECT
                - 400 BAD_REQUEST
                - 401 UNAUTHORIZED
                - 402 PAYMENT_REQUIRED
                - 403 FORBIDDEN
                - 404 NOT_FOUND
                - 405 METHOD_NOT_ALLOWED
                - 406 NOT_ACCEPTABLE
                - 407 PROXY_AUTHENTICATION_REQUIRED
                - 408 REQUEST_TIMEOUT
                - 409 CONFLICT
                - 410 GONE
                - 411 LENGTH_REQUIRED
                - 412 PRECONDITION_FAILED
                - 413 CONTENT_TOO_LARGE
                - 413 PAYLOAD_TOO_LARGE
                - 414 URI_TOO_LONG
                - 415 UNSUPPORTED_MEDIA_TYPE
                - 416 REQUESTED_RANGE_NOT_SATISFIABLE
                - 417 EXPECTATION_FAILED
                - 418 I_AM_A_TEAPOT
                - 421 MISDIRECTED_REQUEST
                - 422 UNPROCESSABLE_CONTENT
                - 422 UNPROCESSABLE_ENTITY
                - 423 LOCKED
                - 424 FAILED_DEPENDENCY
                - 425 TOO_EARLY
                - 426 UPGRADE_REQUIRED
                - 428 PRECONDITION_REQUIRED
                - 429 TOO_MANY_REQUESTS
                - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
                - 451 UNAVAILABLE_FOR_LEGAL_REASONS
                - 500 INTERNAL_SERVER_ERROR
                - 501 NOT_IMPLEMENTED
                - 502 BAD_GATEWAY
                - 503 SERVICE_UNAVAILABLE
                - 504 GATEWAY_TIMEOUT
                - 505 HTTP_VERSION_NOT_SUPPORTED
                - 506 VARIANT_ALSO_NEGOTIATES
                - 507 INSUFFICIENT_STORAGE
                - 508 LOOP_DETECTED
                - 509 BANDWIDTH_LIMIT_EXCEEDED
                - 510 NOT_EXTENDED
                - 511 NETWORK_AUTHENTICATION_REQUIRED
      summary: Register orcid for user
      x-summary-source: derived
    servers:
    - url: https://data.csiro.au/dap
      description: Generated server url
  /orcid/v1/orcid/all/works:
    get:
      tags:
      - ORCID
      operationId: getWorksForAllUsers
      parameters:
      - name: since
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrcidResultsDto'
      summary: Get works for all users
      x-summary-source: derived
    post:
      tags:
      - ORCID
      operationId: recordWorkIds
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/OrcidWorkDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                enum:
                - 100 CONTINUE
                - 101 SWITCHING_PROTOCOLS
                - 102 PROCESSING
                - 103 EARLY_HINTS
                - 200 OK
                - 201 CREATED
                - 202 ACCEPTED
                - 203 NON_AUTHORITATIVE_INFORMATION
                - 204 NO_CONTENT
                - 205 RESET_CONTENT
                - 206 PARTIAL_CONTENT
                - 207 MULTI_STATUS
                - 208 ALREADY_REPORTED
                - 226 IM_USED
                - 300 MULTIPLE_CHOICES
                - 301 MOVED_PERMANENTLY
                - 302 FOUND
                - 303 SEE_OTHER
                - 304 NOT_MODIFIED
                - 307 TEMPORARY_REDIRECT
                - 308 PERMANENT_REDIRECT
                - 400 BAD_REQUEST
                - 401 UNAUTHORIZED
                - 402 PAYMENT_REQUIRED
                - 403 FORBIDDEN
                - 404 NOT_FOUND
                - 405 METHOD_NOT_ALLOWED
                - 406 NOT_ACCEPTABLE
                - 407 PROXY_AUTHENTICATION_REQUIRED
                - 408 REQUEST_TIMEOUT
                - 409 CONFLICT
                - 410 GONE
                - 411 LENGTH_REQUIRED
                - 412 PRECONDITION_FAILED
                - 413 CONTENT_TOO_LARGE
                - 413 PAYLOAD_TOO_LARGE
                - 414 URI_TOO_LONG
                - 415 UNSUPPORTED_MEDIA_TYPE
                - 416 REQUESTED_RANGE_NOT_SATISFIABLE
                - 417 EXPECTATION_FAILED
                - 418 I_AM_A_TEAPOT
                - 421 MISDIRECTED_REQUEST
                - 422 UNPROCESSABLE_CONTENT
                - 422 UNPROCESSABLE_ENTITY
                - 423 LOCKED
                - 424 FAILED_DEPENDENCY
                - 425 TOO_EARLY
                - 426 UPGRADE_REQUIRED
                - 428 PRECONDITION_REQUIRED
                - 429 TOO_MANY_REQUESTS
                - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
                - 451 UNAVAILABLE_FOR_LEGAL_REASONS
                - 500 INTERNAL_SERVER_ERROR
                - 501 NOT_IMPLEMENTED
                - 502 BAD_GATEWAY
                - 503 SERVICE_UNAVAILABLE
                - 504 GATEWAY_TIMEOUT
                - 505 HTTP_VERSION_NOT_SUPPORTED
                - 506 VARIANT_ALSO_NEGOTIATES
                - 507 INSUFFICIENT_STORAGE
                - 508 LOOP_DETECTED
                - 509 BANDWIDTH_LIMIT_EXCEEDED
                - 510 NOT_EXTENDED
                - 511 NETWORK_AUTHENTICATION_REQUIRED
      summary: Record work ids
      x-summary-source: derived
    servers:
    - url: https://data.csiro.au/dap
      description: Generated server url
  /orcid/v1/orcid/{orcidId}/works:
    get:
      tags:
      - ORCID
      operationId: getWorksForUser
      parameters:
      - name: orcidId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrcidResultsDto'
      summary: Get works for user
      x-summary-source: derived
    servers:
    - url: https://data.csiro.au/dap
      description: Generated server url
components:
  schemas:
    OrcidUserDTO:
      type: object
      properties:
        ident:
          type: string
    OrcidIdentifierDto:
      type: object
      properties:
        type:
          type: string
        value:
          type: string
        url:
          type: string
      xml:
        name: OrcidIdentifier
    ContributorDto:
      type: object
      properties:
        name:
          type: string
        orcidId:
          type: string
      xml:
        name: Contributor
    OrcidWorkDTO:
      type: object
      properties:
        orcid:
          type: string
        dataCollection:
          type: string
        workId:
          type: string
    OrcidCollectionDto:
      type: object
      properties:
        description:
          type: string
        collectionType:
          type: string
        title:
          type: string
        attributionStatement:
          type: string
        published:
          type: string
        identifier:
          $ref: '#/components/schemas/OrcidIdentifierDto'
        contributors:
          type: array
          items:
            $ref: '#/components/schemas/ContributorDto'
          xml:
            wrapped: true
        workId:
          type: string
        language:
          type: string
      xml:
        name: OrcidCollection
    OrcidResultsDto:
      type: object
      properties:
        timestamp:
          type: string
        users:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/OrcidCollectionDto'
      xml:
        name: OrcidResults
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: opaque
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/0fe05593-19ac-4f98-adbf-0375fce7f160/oauth2/v2.0/authorize
          tokenUrl: /dap/auth/csiro/token
          scopes:
            openid: OpenID Connect
x-refined-from:
- csiro-dap-orcid-v1-openapi.json
- csiro-dap-orcid-v1-openapi.yml