2026-11-02 CDA Doc Endpoints Meeting

Intro

David R. will now be leading these meetings until Charles returns


Agenda

Recent Issues on the CDA repo:

  • (Bug) Can't add timeseries to district owned timeseries group with cwms owned category Issue 2014 -msweier 
    • Peter M will create Jira and get this started work, this is flagged as blocking
  • (Bug) Issue with file size limit on Blob Issue 2016
    • Mike N. - the WAF is causing issues 
  • Large PR for a variety of strutural elements in CDA Pull 1985
    • Merged: from Mike N – this makes sure we can stay current with Javalin updates. This will simplify how T7 deploy occurs. This will require httpd. A benefit of the updated tooling is better examples. Will no longer run under Tomcat as a WAR, this will be as a standalone. 
  • CDA Prod updated on Friday 10/30
    • This was an infra update. Updates to prod CDA contingent on DMZ include issue being fixed.
  • (merged) timeseries auth restriction using the DMZ include list Pull 2012 
    • Test and Dev only? Yes.

 Field Issues

Endpoint and Documentation Review

CDA-ETL: https://github.com/USACE/cwms-data-api/tree/develop/cda-etl

CDA-ETL is a Python-based utility for transferring CWMS data between databases through the CWMS Data API (CDA) REST endpoints. It uses a two-phase process to extract data from a source CDA instance into local JSON files, then publish the staged data to a destination CDA instance. YAML configuration controls which offices, projects, resources, and time periods are transferred, supporting locations, time series, ratings, and other CWMS data types. It supports Docker-based deployment and can publish previously staged data without requiring access to the source system.

Peter M will arrange to have Adam K attend Nov 16 meeting to present on CDA ETL.

Mitch noted that ETL currently needs Docker but is backed by CWMS Python. Having this present in CWMS CLI will be more useful for the USACE community.



=== Previous Meeting Notes ===

Intro

Previous meeting was canceled. Charles is off, David R is now leading the meeting.


Agenda

Recent issues on the CDA repo:


Best version to do update with is important and needs to be marked clearly. Avoid test versions. Better versioning standards are needed to inform userbase on risk related to version usage?

Field Issues

Endpoint and Documentation Review

  • Discussed HEC-RTS script retrieval of data from web services 


=== Previous Meeting Notes ===

Intro

Charles G will be out towards end of year. David R will be leading this meeting to cover the gap. Peter M will keep up with note taking. Nov 9th this will take place. Charles G will look into David R being able to have correct perms for Confluence and Rocket Chat.


Recaps from other meetings 

Best version to do update with is important and needs to be marked clearly. Avoid test versions. Better versioning standards are needed to inform userbase on risk related to version usage?

Field Issues

https://github.com/USACE/cwms-data-api/issues/1959 : CDA being updated at 10AM PDT today.

CWBI Outage AAR email from last week, also notifications are available via email list serv, ls-cwms-sysinfo2. To join lookup via sharepoint:


Issues with creating the API key are occurring. This should be covered in CDA developer meeting (Peter M).

Updates after May require new keys


Ivan MVS:

  • Issue 1804: 500 error for post ratings (T7 only): This appears to be a missing library issue  on Ivan's T7 and Xalan is the fallback default lib to use when the service load does not find a JSON XML transformer. Added workaround comment.
  • Question from Ivan at MVS:

    I wanted to clarify something that came up during a call last month. Peter mentioned that there may be some work related to the `~1Day` (irregular time series) data.

    CWBI planning to move away from using `~1Day` irregular time series, or will the existing `~1Day` time series need to be converted or modified in some way?

    MVS has a large number of `~1Day` irregular time series in our database, so I just want to understand what the plan is and prepare in advance if we will need to make changes to them.


Endpoint and Documentation Review

User Management

CDA user lists end point is present, but feature flagging is not working given DB reporting wrong version. When this is resolved, end point will be active

/user/list - gets a list of users

/version - reporting 99.99.99 erroneously.

User Roles - Use of CWMS CLI to edit user roles

Alternative Graphical web UI to perform CWMS CLI user role operations. - present on dev. Assign office action, demonstrated workflow to assign a user to a group along with permissions. This is present on cwms-data/user-roles.

Carry over to CDA dev meeting Flag head on pages with environment, DEV, TEST.

Carry over to CDA dev meeting EDIPI being returned with user name, it should only list the users name. CDA PR created, #1930.

Mitch W: when he logs in, he only sees his division in the list of offices. Is HQ required to see all division/district offices? Mitch is unable to add a new user, is this because he cannot see HQ? Mitch will look into this. At a minimum HQ should always be listed to choose from all users. Discussion on whether all users should be under HQ in the first place. Charles G will make a modification that if a user is only HQ they will show up in listing of users that can be assigned. Search box does not return unless case is matched and explicit.

Batch role added to administer batch scripts.

Ability to remove user from an office will be added in the future.


API Keys

Charles has added a web interface to manage API keys. After May 2026, keys need to be regenerated. Key operates as user creating. Do not share your keys, users should create their own keys. Help page walks through workflow.

API Keys → Create Key → give name and exp date. Expiration will be enforced when public. → generate key, save now (copy it). After this page, key is no longer shown.

Swagger page for key get being modified to no longer return key (as null). PR'ed by Charlies.

If key is leaked, removal should be done. Delete and create new key with same name. Web UI simplifies this with Rotate API key.

Help has CURL command to check if key works. This does a time series retrieval check.

Carry over to CDA dev meeting Key management notifications, key change emails, expiration notices.

Refresh button issue has PR to manage token refresh not altering UI. Groundwork water does this.

Your keys shows all keys that the user currently has. Note that your user key if 

Service user keys have been added for batch, separate key management. Discussion on whether CDA API keys will have service keys added (Carry over to CDA dev meeting).

Mitch W suggest querying the no arg offices endpoint to check if key is valid. Could add UI check to verify key working. This could also be used for the help page check.

Issues