National Archives and Records Administration Online Availability API

Information about record online availability

Operations 4

GET /online-availability Get all online availability information #
GET /online-availability/naId/{naId} Get all online availability information for a record with the given naId #
PUT /online-availability/update Update or insert online availability information given a record's naId #
DELETE /online-availability/delete Completely remove online availability information for a given record naId #

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/national-archives-and-records-administration-online-availability-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

national-archives-and-records-administration-online-availability-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NextGen Catalog Online Availability API
  version: 0.2.0
  description: This is the NextGen Catalog API application made with Express and documented with Swagger.
servers:
- url: https://catalog.archives.gov/api/v2/
tags:
- name: Online Availability
  description: Information about record online availability
paths:
  /online-availability:
    get:
      summary: Get all online availability information
      tags:
      - Online Availability
      parameters:
      - $ref: '#/components/parameters/paramAvailability'
      - $ref: '#/components/parameters/paramAvailabilityStatus'
      - $ref: '#/components/parameters/paramNaId'
      - $ref: '#/components/parameters/paramLimit'
      - $ref: '#/components/parameters/paramPage'
      responses:
        '200':
          description: A body of response data containing full record objects if any were found.
        '400':
          description: Bad Request. Invalid search terms, revise terms.
        '422':
          description: Unprocessable Entity. Query must be a non-empty string.
      operationId: getOnlineAvailability
      x-operation-id-source: derived
  /online-availability/naId/{naId}:
    get:
      summary: Get all online availability information for a record with the given naId
      tags:
      - Online Availability
      parameters:
      - $ref: '#/components/parameters/paramPathNaId'
      responses:
        '200':
          description: A body of response data containing full record objects if any were found.
        '400':
          description: Bad Request. Invalid search terms, revise terms.
        '422':
          description: Unprocessable Entity. Query must be a non-empty string.
      operationId: getOnlineAvailabilityNaIdByNaId
      x-operation-id-source: derived
  /online-availability/update:
    put:
      summary: Update or insert online availability information given a record's naId
      tags:
      - Online Availability
      requestBody:
        description: Add online availability information about a record.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/onlineAvailabilityBody'
      responses:
        '200':
          description: A body of response data containing full record objects if any were found.
        '400':
          description: Bad Request. Invalid search terms, revise terms.
        '422':
          description: Unprocessable Entity. Query must be a non-empty string.
      operationId: putOnlineAvailabilityUpdate
      x-operation-id-source: derived
  /online-availability/delete:
    delete:
      summary: Completely remove online availability information for a given record naId
      tags:
      - Online Availability
      parameters:
      - $ref: '#/components/parameters/paramNaId'
      responses:
        '200':
          description: A message confirming the online availability status for the specified record was successfully deleted
        '500':
          description: Internal server error.
      operationId: deleteOnlineAvailabilityDelete
      x-operation-id-source: derived
components:
  schemas:
    onlineAvailabilityBody:
      type: object
      properties:
        naId:
          type: string
          example: 123456
          maximum: 30
        status:
          type: string
          example: active
        availability:
          type: string
          example: fullyDigitized
          accepted:
          - fullyDigitized
          - unrestrictedOnly
      required:
      - naId
  parameters:
    paramLimit:
      in: query
      name: limit
      description: Maximum number of results returned for each page of paginated data.
      required: false
      schema:
        default: 20
        maximum: 1000
        type: integer
      example: 75
    paramPage:
      in: query
      name: page
      description: Page number of the paginated result set in which to return.
      required: false
      schema:
        default: 1
        maximum: 10000
        type: integer
      example: 20
    paramNaId:
      in: query
      name: naId
      description: An array of NARA-specific identifiers, each of which is unique to a single record.
      required: false
      schema:
        maximum: 10000
        type: string
      example: 146919092, 146919093
    paramPathNaId:
      in: path
      name: naId
      description: Unique, NARA-specific identifier given to each record.
      required: false
      schema:
        maximum: 30
        type: integer
      example: 146919092
    paramAvailability:
      in: query
      name: availability
      description: An array of online availability values
      required: false
      schema:
        enum:
        - fullyDigitized
        - unrestrictedOnly
        type: string
      example: fullyDigitized, unrestrictedOnly
    paramAvailabilityStatus:
      in: query
      name: availabilityStatus
      description: An array of online availability status values
      required: false
      schema:
        enum:
        - active
        - inactive
        type: string
      example: active, inactive