Architect of the Capitol · Capability

Architect of the Capitol Data API — Preservation

Architect of the Capitol Data API — Preservation. 2 operations. Lead operation: List historic preservation projects. Self-contained Naftiko capability covering one Architect Of The Capitol business surface.

Run with Naftiko Architect Of The CapitolPreservation

What You Can Do

GET
Listpreservationprojects — List historic preservation projects
/v1/preservation-projects
GET
Getpreservationproject — Get preservation project details
/v1/preservation-projects/{projectid}

MCP Tools

list-historic-preservation-projects

List historic preservation projects

read-only idempotent
get-preservation-project-details

Get preservation project details

read-only idempotent

Capability Spec

aoc-data-preservation.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Architect of the Capitol Data API — Preservation
  description: 'Architect of the Capitol Data API — Preservation. 2 operations. Lead operation: List historic preservation
    projects. Self-contained Naftiko capability covering one Architect Of The Capitol business surface.'
  tags:
  - Architect Of The Capitol
  - Preservation
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ARCHITECT_OF_THE_CAPITOL_API_KEY: ARCHITECT_OF_THE_CAPITOL_API_KEY
capability:
  consumes:
  - type: http
    namespace: aoc-data-preservation
    baseUri: https://api.aoc.gov/v1
    description: Architect of the Capitol Data API — Preservation business capability. Self-contained, no shared references.
    resources:
    - name: preservation-projects
      path: /preservation-projects
      operations:
      - name: listpreservationprojects
        method: GET
        description: List historic preservation projects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: status
          in: query
          type: string
        - name: buildingId
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
    - name: preservation-projects-projectId
      path: /preservation-projects/{projectId}
      operations:
      - name: getpreservationproject
        method: GET
        description: Get preservation project details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectId
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: aoc-data-preservation-rest
    port: 8080
    description: REST adapter for Architect of the Capitol Data API — Preservation. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/preservation-projects
      name: preservation-projects
      description: REST surface for preservation-projects.
      operations:
      - method: GET
        name: listpreservationprojects
        description: List historic preservation projects
        call: aoc-data-preservation.listpreservationprojects
        with:
          status: rest.status
          buildingId: rest.buildingId
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/preservation-projects/{projectid}
      name: preservation-projects-projectid
      description: REST surface for preservation-projects-projectId.
      operations:
      - method: GET
        name: getpreservationproject
        description: Get preservation project details
        call: aoc-data-preservation.getpreservationproject
        with:
          projectId: rest.projectId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: aoc-data-preservation-mcp
    port: 9090
    transport: http
    description: MCP adapter for Architect of the Capitol Data API — Preservation. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: list-historic-preservation-projects
      description: List historic preservation projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: aoc-data-preservation.listpreservationprojects
      with:
        status: tools.status
        buildingId: tools.buildingId
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: get-preservation-project-details
      description: Get preservation project details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: aoc-data-preservation.getpreservationproject
      with:
        projectId: tools.projectId
      outputParameters:
      - type: object
        mapping: $.