satellite/.../consoleapi/gen: Update README

Remove outdated information from the generated API readme, and add a
link to the generated documentation.

Change-Id: Icc098c81f235464344895d2195444044831aac63
This commit is contained in:
Moby von Briesen 2023-08-23 13:08:10 -04:00 committed by Storj Robot
parent b0d072270b
commit 5340a351b7

View File

@ -1,8 +1,16 @@
# Generated REST API documentation
# Generated Console REST API
These endpoints are not currently used from within the Satellite UI.
The API defined in this package allows users to make requests related to their accounts, projects, and buckets, which would normally be performed within the Satellite UI.
Requires setting 'Authorization' header for requests.
This API is _not_ enabled in all production environments, and it is _not_ generally available to Storj customers.
## Available Endpoints
Generated detailed documentation for each endpoint implemented can be found [here](../apidocs.gen.md).
## Usage
Requires setting 'Authorization' header for requests. Users cannot currently generate their own REST API keys.
Example of request
```bash
@ -38,214 +46,3 @@ Example:
}
```
### Project Management API Endpoints
#### GET /api/v0/projects/
Gets users projects.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
A successful response body:
```json
[
{
"id":"cd8d64bd-7457-4661-b88d-2e257bd0d88a",
"name":"My First Project",
"description":"",
"partnerId":"00000000-0000-0000-0000-000000000000",
"userAgent":null,
"ownerId":"f0ef7918-c8f0-4a9c-94fe-2260fb2a7877",
"rateLimit":null,
"burstLimit":null,
"maxBuckets":null,
"createdAt":"2022-04-15T11:38:36.951306+03:00",
"memberCount":0,
"storageLimit":"150.00 GB",
"bandwidthLimit":"150.00 GB",
"segmentLimit":150000
}
]
```
#### GET /api/v0/projects/bucket-rollup/projectID={uuid string}&bucket={string}&since={Date Timestamp like '2006-01-02T15:00:00Z'}&before={Date Timestamp like '2006-01-02T15:00:00Z'}
Gets project's single bucket usage by bucket ID.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
A successful response body:
```json
{
"projectID":"f4f2688e-8dae-4401-8ff1-31d9154ba514",
"bucketName":"bucket",
"totalStoredData":0.011384611174500622,
"totalSegments":0.21667078722222222,
"objectCount":0.10833539361111111,
"metadataSize":1.2241899478055554e-8,
"repairEgress":0,
"getEgress":0,
"auditEgress":0,
"since":"2006-01-02T15:00:00Z",
"before":"2022-04-27T23:59:59Z"
}
```
#### GET /api/v0/projects/bucket-rollups/projectID={uuid string}&since={Date Timestamp like '2006-01-02T15:00:00Z'}&before={Date Timestamp like '2006-01-02T15:00:00Z'}
Gets project's all buckets usage.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
A successful response body:
```json
[
{
"projectID":"f4f2688e-8dae-4401-8ff1-31d9154ba514",
"bucketName":"bucket",
"totalStoredData":0.011384611174500622,
"totalSegments":0.21667078722222222,
"objectCount":0.10833539361111111,
"metadataSize":1.2241899478055554e-8,
"repairEgress":0,
"getEgress":0,
"auditEgress":0,
"since":"2006-01-02T15:00:00Z",
"before":"2022-04-27T23:59:59Z"
}
]
```
#### POST /api/v0/projects/create
Creates new Project with given info.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
Request body example:
```json
{
"name": "new project"
}
```
A successful response body:
```json
{
"id":"f4f2688e-8dae-4401-8ff1-31d9154ba514",
"name":"new project",
"description":"",
"partnerId":"00000000-0000-0000-0000-000000000000",
"userAgent":null,
"ownerId":"f0ef7918-c8f0-4a9c-94fe-2260fb2a7877",
"rateLimit":null,
"burstLimit":null,
"maxBuckets":null,
"createdAt":"2022-04-27T13:23:59.013381+03:00",
"memberCount":0,
"storageLimit":"15 GB",
"bandwidthLimit":"15 GB",
"segmentLimit":15000
}
```
#### PATCH /api/v0/projects/update/{uuid string}
Updates project with given info.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
Request body example:
```json
{
"name": "awesome project",
"description": "random stuff",
"bandwidthLimit": 1000000000,
"storageLimit": 1000000000
}
```
A successful response body:
```json
{
"id":"f4f2688e-8dae-4401-8ff1-31d9154ba514",
"name":"awesome project",
"description":"random stuff",
"partnerId":"00000000-0000-0000-0000-000000000000",
"userAgent":null,
"ownerId":"f0ef7918-c8f0-4a9c-94fe-2260fb2a7877",
"rateLimit":null,
"burstLimit":null,
"maxBuckets":null,
"createdAt":"2022-04-27T13:23:59.013381+03:00",
"memberCount":0,
"storageLimit":"1 GB",
"bandwidthLimit":"1 GB",
"segmentLimit":15000
}
```
#### DELETE /api/v0/projects/delete/{uuid string}
Deletes project by id.
Note: all the buckets and access grants have to be deleted first and there should not be any usage during current month for paid tier users.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
### Macaroon API key API Endpoints
#### POST /api/v0/apikeys/create
Creates new macaroon API key.
!!!WARNING!!! Project ID is used as encryption salt. Please don't send it to anyone. We're going to fix it soon.
Request body example:
```json
{
"name": "new api key",
"projectID": "229193d4-0d71-49e8-b9a1-b367b74ed3e3"
}
```
A successful response body:
```json
{
"key": "13YqdodV5HKad2anjvy6ibtxRtHuD5hUJdsLRpRdQrT4vZ9C2wPJjsQ42L8SeTqMHeW97cwYgxT2FnDjEf3b7Mg5dfUcxm8N157Esq9",
"keyInfo": {
"id": "d7a60196-688a-4edc-a561-fd859d04e5a1",
"projectId": "229193d4-0d71-49e8-b9a1-b367b74ed3e3",
"partnerId": "00000000-0000-0000-0000-000000000000",
"userAgent": null,
"name": "new api key",
"createdAt": "2022-05-06T14:14:30.076498+03:00"
}
}
```
### User Endpoints
#### GET /api/v0/users/
Returns User entity by request context.
A successful response body:
```json
{
"id": "00fe2cef-9412-4c9c-bc42-e57cc062bb7d",
"fullName": "Test",
"shortName": "",
"email": "test@test.com",
"partnerId": "00000000-0000-0000-0000-000000000000",
"userAgent": null,
"projectLimit": 1,
"isProfessional": false,
"position": "",
"companyName": "",
"employeeCount": "",
"haveSalesContact": false,
"paidTier": false,
"isMFAEnabled": false,
"mfaRecoveryCodeCount": 0
}
```