CWMS Data API — Time Series

CWMS Data API — Time Series. 3 operations. Lead operation: Get Time Series. Self-contained Naftiko capability covering one United States Army Corps Of Engineers business surface.

Run with Naftiko United States Army Corps Of EngineersTime Series

What You Can Do

GET
Gettimeseries — Get Time Series
/v1/timeseries
GET
Getfilteredtimeseries — Get Filtered Time Series
/v1/timeseries/filtered
GET
Getrecenttimeseries — Get Recent Time Series
/v1/timeseries/recent

MCP Tools

get-time-series

Get Time Series

read-only idempotent
get-filtered-time-series

Get Filtered Time Series

read-only idempotent
get-recent-time-series

Get Recent Time Series

read-only idempotent

Capability Spec

cwms-data-time-series.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: CWMS Data API — Time Series
  description: 'CWMS Data API — Time Series. 3 operations. Lead operation: Get Time Series. Self-contained Naftiko capability
    covering one United States Army Corps Of Engineers business surface.'
  tags:
  - United States Army Corps Of Engineers
  - Time Series
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UNITED_STATES_ARMY_CORPS_OF_ENGINEERS_API_KEY: UNITED_STATES_ARMY_CORPS_OF_ENGINEERS_API_KEY
capability:
  consumes:
  - type: http
    namespace: cwms-data-time-series
    baseUri: https://cwms-data.usace.army.mil/cwms-data
    description: CWMS Data API — Time Series business capability. Self-contained, no shared references.
    resources:
    - name: timeseries
      path: /timeseries
      operations:
      - name: gettimeseries
        method: GET
        description: Get Time Series
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The time series identifier in CWMS format (e.g., DALT2.Stage.Inst.15Minutes.0.raw)
          required: true
        - name: office
          in: query
          type: string
          description: Three-character USACE district office code
        - name: unit
          in: query
          type: string
          description: Measurement unit for the returned data
        - name: datum
          in: query
          type: string
          description: Vertical datum for elevation values
        - name: begin
          in: query
          type: string
          description: Start of time window in ISO 8601 format or milliseconds since epoch
        - name: end
          in: query
          type: string
          description: End of time window in ISO 8601 format or milliseconds since epoch
        - name: timezone
          in: query
          type: string
          description: Timezone for interpreting date/time values
        - name: format
          in: query
          type: string
          description: Response format
        - name: page
          in: query
          type: string
          description: Pagination cursor from a previous response
        - name: page-size
          in: query
          type: integer
          description: Number of time series values per page
    - name: timeseries-filtered
      path: /timeseries/filtered
      operations:
      - name: getfilteredtimeseries
        method: GET
        description: Get Filtered Time Series
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: office
          in: query
          type: string
          description: Three-character USACE district office code
        - name: name
          in: query
          type: string
          description: Time series identifier (supports CWMS wildcards)
    - name: timeseries-recent
      path: /timeseries/recent
      operations:
      - name: getrecenttimeseries
        method: GET
        description: Get Recent Time Series
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: office
          in: query
          type: string
          description: Three-character USACE district office code
        - name: name
          in: query
          type: string
          description: Time series identifier (supports CWMS wildcards)
        - name: recently-changed-within
          in: query
          type: string
          description: ISO 8601 duration for how recently the data was updated (e.g., PT2H for 2 hours)
    authentication:
      type: bearer
      token: '{{env.UNITED_STATES_ARMY_CORPS_OF_ENGINEERS_API_KEY}}'
  exposes:
  - type: rest
    namespace: cwms-data-time-series-rest
    port: 8080
    description: REST adapter for CWMS Data API — Time Series. 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 Time Series
        call: cwms-data-time-series.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: rest.page
          page-size: rest.page-size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/timeseries/filtered
      name: timeseries-filtered
      description: REST surface for timeseries-filtered.
      operations:
      - method: GET
        name: getfilteredtimeseries
        description: Get Filtered Time Series
        call: cwms-data-time-series.getfilteredtimeseries
        with:
          office: rest.office
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/timeseries/recent
      name: timeseries-recent
      description: REST surface for timeseries-recent.
      operations:
      - method: GET
        name: getrecenttimeseries
        description: Get Recent Time Series
        call: cwms-data-time-series.getrecenttimeseries
        with:
          office: rest.office
          name: rest.name
          recently-changed-within: rest.recently-changed-within
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cwms-data-time-series-mcp
    port: 9090
    transport: http
    description: MCP adapter for CWMS Data API — Time Series. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-time-series
      description: Get Time Series
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cwms-data-time-series.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: tools.page
        page-size: tools.page-size
      outputParameters:
      - type: object
        mapping: $.
    - name: get-filtered-time-series
      description: Get Filtered Time Series
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cwms-data-time-series.getfilteredtimeseries
      with:
        office: tools.office
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: get-recent-time-series
      description: Get Recent Time Series
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cwms-data-time-series.getrecenttimeseries
      with:
        office: tools.office
        name: tools.name
        recently-changed-within: tools.recently-changed-within
      outputParameters:
      - type: object
        mapping: $.