We want to have the same path structure for all our sub-apis, this means (on the sub-api level):
- Using singular for the resources for our resources (ex. /v1/build or /v1/job/<id>/logs) (because we have 2 apis using it, happy to use plural instead if anyone has a strong preference, if so the checkmarks should be swapped): (update: we will go with plural)
- jobs-api (quota -> quotas)
- builds-api
- envvars-api
- Prefix the urls with the version /<version>/* for example /v1/build
- jobs-api (only the /healthz endpoint doesn't have a version prefix)
- builds-api
- envars-api
- Remove /api from the paths
- jobs-api
- builds-api
- envvars-api
Note that these changes should be done in a backwards-compatible way, as in:
- change the API server to support both paths
- change the client to use the new path
- change the API server and remove the old path support
Final paths structure examples:
- For resources: '/v1/build/logs'
- For actions/misc: /v1/clean, /v1/healthz /v1/quota
Note that this is related to T356974: [builds-api,jobs-api,envvars-api,api-gateway] Figure out and document how to do non-backwards compatible changes, that somewhat consolidates the expected responses from the apis.
It's also related to T363808: [builds-api, builds-cli] Prefix all endpoints with `/tool/<toolname>`, T363346: [jobs-api, jobs-cli] Prefix all endpoints with `/tool/<toolname>` and T363809: [envvars-api, envvars-cli] Prefix all endpoints with `/tool/<toolname>`