naftiko: 1.0.0-alpha2 info: label: USACE CWMS Data API — Timeseries description: 'USACE CWMS Data API — Timeseries. 2 operations. Lead operation: Get Timeseries Data. Self-contained Naftiko capability covering one Us Army Corps Of Engineers business surface.' tags: - Us Army Corps Of Engineers - Timeseries created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: US_ARMY_CORPS_OF_ENGINEERS_API_KEY: US_ARMY_CORPS_OF_ENGINEERS_API_KEY capability: consumes: - type: http namespace: usace-cwms-data-timeseries baseUri: https://cwms-data.usace.army.mil/cwms-data description: USACE CWMS Data API — Timeseries business capability. Self-contained, no shared references. resources: - name: timeseries path: /timeseries operations: - name: gettimeseries method: GET description: Get Timeseries Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Timeseries identifier (e.g., TULA.Flow.Inst.1Hour.0.CBT-RAW) required: true - name: office in: query type: string description: The office that owns the timeseries - name: unit in: query type: string description: The units for the time series values - name: datum in: query type: string description: The vertical datum for elevation timeseries - name: begin in: query type: string description: Start time in ISO 8601 format or milliseconds - name: end in: query type: string description: End time in ISO 8601 format or milliseconds - name: timezone in: query type: string description: Timezone for time formatting - name: format in: query type: string description: Response format - name: page-size in: query type: integer description: Number of records to return per page - name: page in: query type: string description: Page cursor for pagination - name: timeseries-catalog path: /timeseries/catalog operations: - name: gettimeseriescatalog method: GET description: Get Timeseries Catalog outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: office in: query type: string description: Filter by office identifier - name: timeseries-id-like in: query type: string description: Filter by timeseries ID pattern (supports SQL LIKE syntax) - name: page-size in: query type: integer description: Number of catalog entries per page - name: page in: query type: string description: Pagination cursor exposes: - type: rest namespace: usace-cwms-data-timeseries-rest port: 8080 description: REST adapter for USACE CWMS Data API — Timeseries. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/timeseries name: timeseries description: REST surface for timeseries. operations: - method: GET name: gettimeseries description: Get Timeseries Data call: usace-cwms-data-timeseries.gettimeseries with: name: rest.name office: rest.office unit: rest.unit datum: rest.datum begin: rest.begin end: rest.end timezone: rest.timezone format: rest.format page-size: rest.page-size page: rest.page outputParameters: - type: object mapping: $. - path: /v1/timeseries/catalog name: timeseries-catalog description: REST surface for timeseries-catalog. operations: - method: GET name: gettimeseriescatalog description: Get Timeseries Catalog call: usace-cwms-data-timeseries.gettimeseriescatalog with: office: rest.office timeseries-id-like: rest.timeseries-id-like page-size: rest.page-size page: rest.page outputParameters: - type: object mapping: $. - type: mcp namespace: usace-cwms-data-timeseries-mcp port: 9090 transport: http description: MCP adapter for USACE CWMS Data API — Timeseries. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-timeseries-data description: Get Timeseries Data hints: readOnly: true destructive: false idempotent: true call: usace-cwms-data-timeseries.gettimeseries with: name: tools.name office: tools.office unit: tools.unit datum: tools.datum begin: tools.begin end: tools.end timezone: tools.timezone format: tools.format page-size: tools.page-size page: tools.page outputParameters: - type: object mapping: $. - name: get-timeseries-catalog description: Get Timeseries Catalog hints: readOnly: true destructive: false idempotent: true call: usace-cwms-data-timeseries.gettimeseriescatalog with: office: tools.office timeseries-id-like: tools.timeseries-id-like page-size: tools.page-size page: tools.page outputParameters: - type: object mapping: $.