NextGen Catalog API — Transcriptions

NextGen Catalog API — Transcriptions. 9 operations. Lead operation: Add or update a transcription.. Self-contained Naftiko capability covering one National Archives And Records Administration Nara business surface.

Run with Naftiko National Archives And Records Administration NaraTranscriptions

What You Can Do

PUT
Put — Add or update a transcription.
/v1/transcriptions
POST
Post — Add a transcription.
/v1/transcriptions
DELETE
Delete — Deactivate a transcription.
/v1/transcriptions/contributionid/justificationid/justificationid
POST
Post — Activate a transcription.
/v1/transcriptions/contributionid/justificationid/justificationid
POST
Post — Get the history of a transcription.
/v1/transcriptions/history/parentcontributionid
GET
Get — Get transcriptions by their parent record's naId.
/v1/transcriptions/naid/{naid}
GET
Get — Get search results for transcriptions data by sending a request with search parameters to the catalog.
/v1/transcriptions/search
GET
Get — Get transcriptions by their contributor's userId.
/v1/transcriptions/userid/{userid}
GET
Get — Get a single transcription object by transcription id.
/v1/transcriptions/{id}

MCP Tools

add-update-transcription

Add or update a transcription.

idempotent
add-transcription

Add a transcription.

deactivate-transcription

Deactivate a transcription.

idempotent
activate-transcription

Activate a transcription.

get-history-transcription

Get the history of a transcription.

read-only
get-transcriptions-their-parent-record-s

Get transcriptions by their parent record's naId.

read-only idempotent
get-search-results-transcriptions-data

Get search results for transcriptions data by sending a request with search parameters to the catalog.

read-only idempotent
get-transcriptions-their-contributor-s-userid

Get transcriptions by their contributor's userId.

read-only idempotent
get-single-transcription-object-transcription

Get a single transcription object by transcription id.

read-only idempotent

Capability Spec

national-archives-and-records-administration-nara--transcriptions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: NextGen Catalog API — Transcriptions
  description: 'NextGen Catalog API — Transcriptions. 9 operations. Lead operation: Add or update a transcription.. Self-contained
    Naftiko capability covering one National Archives And Records Administration Nara business surface.'
  tags:
  - National Archives And Records Administration Nara
  - Transcriptions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NATIONAL_ARCHIVES_AND_RECORDS_ADMINISTRATION_NARA_API_KEY: NATIONAL_ARCHIVES_AND_RECORDS_ADMINISTRATION_NARA_API_KEY
capability:
  consumes:
  - type: http
    namespace: national-archives-and-records-administration-nara--transcriptions
    baseUri: https://catalog.archives.gov/api/v2
    description: NextGen Catalog API — Transcriptions business capability. Self-contained, no shared references.
    resources:
    - name: transcriptions
      path: /transcriptions/
      operations:
      - name: put
        method: PUT
        description: Add or update a transcription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: publish
          in: query
          type: boolean
          description: publish flag which when true indicates that a transcription should be published
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: post
        method: POST
        description: Add a transcription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: transcriptions-:contributionId-justificationId-:justificationId
      path: /transcriptions/:contributionId/justificationId/:justificationId
      operations:
      - name: delete
        method: DELETE
        description: Deactivate a transcription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contributionId
          in: path
          type: string
          description: contributionId of a transcription to be deactivated.
          required: true
        - name: justificationId
          in: path
          type: integer
          description: justificationId of the reason a transcription is being deactivated.
          required: true
        - name: autoActivate
          in: query
          type: boolean
          description: autoActivate tag which when true has the API choose a previous transcription to activate
        - name: userId
          in: body
          type: string
          description: userId of the user that created the transcription to be deactivated.
          required: true
        - name: actionNotes
          in: body
          type: string
          description: Additional notes for the transcription being deactivated. Defaults to the empty string.
      - name: post
        method: POST
        description: Activate a transcription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contributionId
          in: path
          type: string
          description: contributionId of a transcription to be activated.
          required: true
        - name: justificationId
          in: path
          type: integer
          description: justificationId of the reason a transcription is being activated.
          required: true
        - name: userId
          in: body
          type: string
          description: userId of the user that created the comment to be deactivated.
          required: true
    - name: transcriptions-history-:parentContributionId
      path: /transcriptions/history/:parentContributionId
      operations:
      - name: post
        method: POST
        description: Get the history of a transcription.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: parentContributionId
          in: query
          type: string
          description: parentContributionId indicating the transcription of which to request the history.
          required: true
    - name: transcriptions-naId-naId
      path: /transcriptions/naId/{naId}
      operations:
      - name: get
        method: GET
        description: Get transcriptions by their parent record's naId.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: naId
          in: path
          type: string
          description: naId of parent record whose transcriptions to return
          required: true
    - name: transcriptions-search
      path: /transcriptions/search
      operations:
      - name: get
        method: GET
        description: Get search results for transcriptions data by sending a request with search parameters to the catalog.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: transcriptions-userId-userId
      path: /transcriptions/userId/{userId}
      operations:
      - name: get
        method: GET
        description: Get transcriptions by their contributor's userId.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userId
          in: path
          type: string
          description: userId of contributor whose transcriptions to return
          required: true
    - name: transcriptions-id
      path: /transcriptions/{id}
      operations:
      - name: get
        method: GET
        description: Get a single transcription object by transcription id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: national-archives-and-records-administration-nara--transcriptions-rest
    port: 8080
    description: REST adapter for NextGen Catalog API — Transcriptions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/transcriptions
      name: transcriptions
      description: REST surface for transcriptions.
      operations:
      - method: PUT
        name: put
        description: Add or update a transcription.
        call: national-archives-and-records-administration-nara--transcriptions.put
        with:
          publish: rest.publish
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post
        description: Add a transcription.
        call: national-archives-and-records-administration-nara--transcriptions.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transcriptions/contributionid/justificationid/justificationid
      name: transcriptions-contributionid-justificationid-justificationid
      description: REST surface for transcriptions-:contributionId-justificationId-:justificationId.
      operations:
      - method: DELETE
        name: delete
        description: Deactivate a transcription.
        call: national-archives-and-records-administration-nara--transcriptions.delete
        with:
          contributionId: rest.contributionId
          justificationId: rest.justificationId
          autoActivate: rest.autoActivate
          userId: rest.userId
          actionNotes: rest.actionNotes
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post
        description: Activate a transcription.
        call: national-archives-and-records-administration-nara--transcriptions.post
        with:
          contributionId: rest.contributionId
          justificationId: rest.justificationId
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transcriptions/history/parentcontributionid
      name: transcriptions-history-parentcontributionid
      description: REST surface for transcriptions-history-:parentContributionId.
      operations:
      - method: POST
        name: post
        description: Get the history of a transcription.
        call: national-archives-and-records-administration-nara--transcriptions.post
        with:
          parentContributionId: rest.parentContributionId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transcriptions/naid/{naid}
      name: transcriptions-naid-naid
      description: REST surface for transcriptions-naId-naId.
      operations:
      - method: GET
        name: get
        description: Get transcriptions by their parent record's naId.
        call: national-archives-and-records-administration-nara--transcriptions.get
        with:
          naId: rest.naId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transcriptions/search
      name: transcriptions-search
      description: REST surface for transcriptions-search.
      operations:
      - method: GET
        name: get
        description: Get search results for transcriptions data by sending a request with search parameters to the catalog.
        call: national-archives-and-records-administration-nara--transcriptions.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transcriptions/userid/{userid}
      name: transcriptions-userid-userid
      description: REST surface for transcriptions-userId-userId.
      operations:
      - method: GET
        name: get
        description: Get transcriptions by their contributor's userId.
        call: national-archives-and-records-administration-nara--transcriptions.get
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/transcriptions/{id}
      name: transcriptions-id
      description: REST surface for transcriptions-id.
      operations:
      - method: GET
        name: get
        description: Get a single transcription object by transcription id.
        call: national-archives-and-records-administration-nara--transcriptions.get
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: national-archives-and-records-administration-nara--transcriptions-mcp
    port: 9090
    transport: http
    description: MCP adapter for NextGen Catalog API — Transcriptions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: add-update-transcription
      description: Add or update a transcription.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: national-archives-and-records-administration-nara--transcriptions.put
      with:
        publish: tools.publish
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: add-transcription
      description: Add a transcription.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: national-archives-and-records-administration-nara--transcriptions.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: deactivate-transcription
      description: Deactivate a transcription.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: national-archives-and-records-administration-nara--transcriptions.delete
      with:
        contributionId: tools.contributionId
        justificationId: tools.justificationId
        autoActivate: tools.autoActivate
        userId: tools.userId
        actionNotes: tools.actionNotes
      outputParameters:
      - type: object
        mapping: $.
    - name: activate-transcription
      description: Activate a transcription.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: national-archives-and-records-administration-nara--transcriptions.post
      with:
        contributionId: tools.contributionId
        justificationId: tools.justificationId
        userId: tools.userId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-history-transcription
      description: Get the history of a transcription.
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: national-archives-and-records-administration-nara--transcriptions.post
      with:
        parentContributionId: tools.parentContributionId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-transcriptions-their-parent-record-s
      description: Get transcriptions by their parent record's naId.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-archives-and-records-administration-nara--transcriptions.get
      with:
        naId: tools.naId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-search-results-transcriptions-data
      description: Get search results for transcriptions data by sending a request with search parameters to the catalog.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-archives-and-records-administration-nara--transcriptions.get
      outputParameters:
      - type: object
        mapping: $.
    - name: get-transcriptions-their-contributor-s-userid
      description: Get transcriptions by their contributor's userId.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-archives-and-records-administration-nara--transcriptions.get
      with:
        userId: tools.userId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-single-transcription-object-transcription
      description: Get a single transcription object by transcription id.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-archives-and-records-administration-nara--transcriptions.get
      outputParameters:
      - type: object
        mapping: $.