naftiko: 1.0.0-alpha2 info: label: Freedom of Information Act (FOIA) API — Agency Components description: 'Freedom of Information Act (FOIA) API — Agency Components. 3 operations. Lead operation: List agency components. Self-contained Naftiko capability covering one Freedom Of Information Act business surface.' tags: - Freedom Of Information Act - Agency Components created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FREEDOM_OF_INFORMATION_ACT_API_KEY: FREEDOM_OF_INFORMATION_ACT_API_KEY capability: consumes: - type: http namespace: freedom-of-information-act-agency-components baseUri: https://api.foia.gov description: Freedom of Information Act (FOIA) API — Agency Components business capability. Self-contained, no shared references. resources: - name: api-agency_components path: /api/agency_components operations: - name: listagencycomponents method: GET description: List agency components outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields[agency_component] in: query type: string description: Sparse fieldset for agency_component. - name: fields[agency] in: query type: string description: Sparse fieldset for agency. - name: include in: query type: string description: Related resources to include (e.g., agency). - name: api-agency_components-id path: /api/agency_components/{id} operations: - name: getagencycomponent method: GET description: Get agency component outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: api-agency_components-id-request_form path: /api/agency_components/{id}/request_form operations: - name: getagencycomponentrequestform method: GET description: Get an agency component's request form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true authentication: type: apikey key: X-API-Key value: '{{env.FREEDOM_OF_INFORMATION_ACT_API_KEY}}' placement: header exposes: - type: rest namespace: freedom-of-information-act-agency-components-rest port: 8080 description: REST adapter for Freedom of Information Act (FOIA) API — Agency Components. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/agency-components name: api-agency-components description: REST surface for api-agency_components. operations: - method: GET name: listagencycomponents description: List agency components call: freedom-of-information-act-agency-components.listagencycomponents with: fields[agency_component]: rest.fields[agency_component] fields[agency]: rest.fields[agency] include: rest.include outputParameters: - type: object mapping: $. - path: /v1/api/agency-components/{id} name: api-agency-components-id description: REST surface for api-agency_components-id. operations: - method: GET name: getagencycomponent description: Get agency component call: freedom-of-information-act-agency-components.getagencycomponent with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/agency-components/{id}/request-form name: api-agency-components-id-request-form description: REST surface for api-agency_components-id-request_form. operations: - method: GET name: getagencycomponentrequestform description: Get an agency component's request form call: freedom-of-information-act-agency-components.getagencycomponentrequestform with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: freedom-of-information-act-agency-components-mcp port: 9090 transport: http description: MCP adapter for Freedom of Information Act (FOIA) API — Agency Components. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-agency-components description: List agency components hints: readOnly: true destructive: false idempotent: true call: freedom-of-information-act-agency-components.listagencycomponents with: fields[agency_component]: tools.fields[agency_component] fields[agency]: tools.fields[agency] include: tools.include outputParameters: - type: object mapping: $. - name: get-agency-component description: Get agency component hints: readOnly: true destructive: false idempotent: true call: freedom-of-information-act-agency-components.getagencycomponent with: id: tools.id outputParameters: - type: object mapping: $. - name: get-agency-component-s-request-form description: Get an agency component's request form hints: readOnly: true destructive: false idempotent: true call: freedom-of-information-act-agency-components.getagencycomponentrequestform with: id: tools.id outputParameters: - type: object mapping: $.