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