Endpoints and permissions¶
This page summarises the HTTP endpoints of the RS-Python web services and the Keycloak roles they require. Their detailed documentation (parameters, request and response bodies) is in the Swagger page. In local mode, no authentication nor role is required.
All the endpoints require to be authenticated, with an OAuth2 session cookie or an API key, except the documentation.
Documentation and authentication¶
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET |
/docs, /openapi.json |
Aggregated Swagger page and OpenAPI specification of all the services. | None |
GET |
/auth/login, /auth/logout |
OAuth2 login and logout. | None |
GET |
/auth/me |
Show your user name and roles. | None |
External data sources¶
<service> is cadip, auxip or prip. <station> is the station of the requested collection, see
External data sources.
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET |
/<service> |
Landing page (STAC catalog). | rs_<service>_landing_page |
GET |
/<service>/conformance |
Conformance classes. | rs_<service>_landing_page |
GET |
/<service>/collections |
Collections you are allowed to read. | rs_<service>_landing_page |
GET |
/<service>/collections/{collection_id} |
One collection. | rs_<service>_<station>_read |
GET |
/<service>/collections/{collection_id}/items |
Items of a collection. | rs_<service>_<station>_read |
GET |
/<service>/collections/{collection_id}/items/{item_id} |
One item (a session for CADIP). | rs_<service>_<station>_read |
GET, POST |
/<service>/search |
Search the items of one or several collections. | rs_<service>_<station>_read for each station |
GET |
/<service>/queryables, /<service>/collections/{collection_id}/queryables |
Properties that can be used in the filters. | idem |
GET |
/<service>/sortables, /<service>/collections/{collection_id}/sortables, /<service>/collections-sortables |
Properties that can be used to sort the results. | idem |
Catalog¶
{collection_id} is <owner>:<collection>, or <collection> for your own collections. You always have all the
rights on your own collections.
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET |
/catalog/, /catalog/conformance |
Landing page and conformance classes. | None |
GET |
/catalog/collections |
Collections you are allowed to read. | None (the result is filtered) |
GET |
/catalog/collections/{collection_id} |
One collection. | rs_catalog_<owner>:<collection>_read |
GET |
/catalog/collections/{collection_id}/items, /catalog/collections/{collection_id}/items/{item_id} |
Items of a collection, one item. | rs_catalog_<owner>:<collection>_read |
GET, POST |
/catalog/search |
Search the items. | rs_catalog_<owner>:<collection>_read for each collection |
GET |
/catalog/queryables, /catalog/collections/{collection_id}/queryables |
Properties that can be used in the filters. | idem |
GET |
/catalog/collections/{collection_id}/items/{item_id}/download/{asset} |
Redirect to a temporary download URL of an asset. | rs_catalog_<owner>:<collection>_download |
POST |
/catalog/collections |
Create a collection. | rs_catalog_<owner>:<collection>_write |
PUT, PATCH, DELETE |
/catalog/collections/{collection_id} |
Update or delete a collection and its items. | rs_catalog_<owner>:<collection>_write |
POST |
/catalog/collections/{collection_id}/items |
Add an item. | rs_catalog_<owner>:<collection>_write |
POST |
/catalog/collections/{collection_id}/bulk_items |
Add several items at once. | rs_catalog_<owner>:<collection>_write |
PUT, PATCH, DELETE |
/catalog/collections/{collection_id}/items/{item_id} |
Update or delete an item. | rs_catalog_<owner>:<collection>_write |
GET |
/catalog/_mgmt/ping, /catalog/_mgmt/health |
Liveness and readiness. | None |
Staging¶
The staging service follows OGC API - Processes, with a single staging
process.
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET |
/processes, /processes/{resource} |
List and describe the processes. | rs_processes_staging_read |
POST |
/processes/staging/execution |
Start a staging job. | rs_processes_staging_execute, and rs_processes_staging_download_<station> for each station to download from |
GET |
/jobs, /jobs/{job_id}, /jobs/{job_id}/results |
List the jobs, get the status and results of a job. | rs_processes_staging_read |
DELETE |
/jobs/{job_id} |
Dismiss a job. | rs_processes_staging_dismiss |
Processing (DPR)¶
The processing service follows OGC API - Processes, with one process per DPR
processor, plus the conv_safe_zarr conversion process.
| Method | Endpoint | Description |
|---|---|---|
GET |
/dpr/processes |
List the processors. |
GET |
/dpr/processes/{processor} |
Get the task table of a processor. |
POST |
/dpr/processes/{processor}/execution |
Run a processor on a Dask cluster, with a payload file. |
GET |
/dpr/jobs, /dpr/jobs/{job_id} |
List the jobs, get the status of a job. |
GET |
/dpr/jobs/{job_id}/logs |
Stream the logs of a job. |
DELETE |
/dpr/jobs/{job_id} |
Cancel a job. |
OSAM¶
| Method | Endpoint | Description | Role |
|---|---|---|---|
GET |
/storage/account/credentials |
Get your personal S3 credentials. | None |
POST |
/storage/accounts/update |
Create and delete the object storage accounts according to the Keycloak accounts. | rs_osam_update |
POST |
/storage/account/{user}/update |
Compute and apply the object storage rights of a user. | rs_osam_update |