Fix the API generator to generate valid TypeScript code when using slices an arrays of any type (base types, struct types, anonymous struct types, etc.). Closes https://github.com/storj/storj/issues/6323 Change-Id: I580ae5305c58f65c2e4f4a35d14ca4ee509a9250
9.0 KiB
API Docs
Description: Interacts with projects
Version: v0
List of Endpoints
- ProjectManagement
- APIKeyManagement
- UserManagement
Create new Project (go to full list)
Creates new Project with given info
POST /api/v0/projects/create
Request body:
{
name: string
description: string
storageLimit: string // Amount of memory formatted as `15 GB`
bandwidthLimit: string // Amount of memory formatted as `15 GB`
createdAt: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
}
Response body:
{
id: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
publicId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
name: string
description: string
userAgent: string
ownerId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
rateLimit: number
burstLimit: number
maxBuckets: number
createdAt: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
memberCount: number
storageLimit: string // Amount of memory formatted as `15 GB`
bandwidthLimit: string // Amount of memory formatted as `15 GB`
userSpecifiedStorageLimit: string // Amount of memory formatted as `15 GB`
userSpecifiedBandwidthLimit: string // Amount of memory formatted as `15 GB`
segmentLimit: number
defaultPlacement: number
}
Update Project (go to full list)
Updates project with given info
PATCH /api/v0/projects/update/{id}
Path Params:
name | type | elaboration |
---|---|---|
id |
string |
UUID formatted as 00000000-0000-0000-0000-000000000000 |
Request body:
{
name: string
description: string
storageLimit: string // Amount of memory formatted as `15 GB`
bandwidthLimit: string // Amount of memory formatted as `15 GB`
createdAt: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
}
Response body:
{
id: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
publicId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
name: string
description: string
userAgent: string
ownerId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
rateLimit: number
burstLimit: number
maxBuckets: number
createdAt: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
memberCount: number
storageLimit: string // Amount of memory formatted as `15 GB`
bandwidthLimit: string // Amount of memory formatted as `15 GB`
userSpecifiedStorageLimit: string // Amount of memory formatted as `15 GB`
userSpecifiedBandwidthLimit: string // Amount of memory formatted as `15 GB`
segmentLimit: number
defaultPlacement: number
}
Delete Project (go to full list)
Deletes project by id
DELETE /api/v0/projects/delete/{id}
Path Params:
name | type | elaboration |
---|---|---|
id |
string |
UUID formatted as 00000000-0000-0000-0000-000000000000 |
Get Projects (go to full list)
Gets all projects user has
GET /api/v0/projects/
Response body:
[
{
id: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
publicId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
name: string
description: string
userAgent: string
ownerId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
rateLimit: number
burstLimit: number
maxBuckets: number
createdAt: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
memberCount: number
storageLimit: string // Amount of memory formatted as `15 GB`
bandwidthLimit: string // Amount of memory formatted as `15 GB`
userSpecifiedStorageLimit: string // Amount of memory formatted as `15 GB`
userSpecifiedBandwidthLimit: string // Amount of memory formatted as `15 GB`
segmentLimit: number
defaultPlacement: number
}
]
Get Project's Single Bucket Usage (go to full list)
Gets project's single bucket usage by bucket ID
GET /api/v0/projects/bucket-rollup
Query Params:
name | type | elaboration |
---|---|---|
projectID |
string |
UUID formatted as 00000000-0000-0000-0000-000000000000 |
bucket |
string |
|
since |
string |
Date timestamp formatted as 2006-01-02T15:00:00Z |
before |
string |
Date timestamp formatted as 2006-01-02T15:00:00Z |
Response body:
{
projectID: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
bucketName: string
totalStoredData: number
totalSegments: number
objectCount: number
metadataSize: number
repairEgress: number
getEgress: number
auditEgress: number
since: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
before: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
}
Get Project's All Buckets Usage (go to full list)
Gets project's all buckets usage
GET /api/v0/projects/bucket-rollups
Query Params:
name | type | elaboration |
---|---|---|
projectID |
string |
UUID formatted as 00000000-0000-0000-0000-000000000000 |
since |
string |
Date timestamp formatted as 2006-01-02T15:00:00Z |
before |
string |
Date timestamp formatted as 2006-01-02T15:00:00Z |
Response body:
[
{
projectID: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
bucketName: string
totalStoredData: number
totalSegments: number
objectCount: number
metadataSize: number
repairEgress: number
getEgress: number
auditEgress: number
since: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
before: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
}
]
Get Project's API Keys (go to full list)
Gets API keys by project ID
GET /api/v0/projects/apikeys/{projectID}
Query Params:
name | type | elaboration |
---|---|---|
search |
string |
|
limit |
number |
|
page |
number |
|
order |
number |
|
orderDirection |
number |
Path Params:
name | type | elaboration |
---|---|---|
projectID |
string |
UUID formatted as 00000000-0000-0000-0000-000000000000 |
Response body:
{
apiKeys: [
{
id: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
projectId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
projectPublicId: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
userAgent: string
name: string
createdAt: string // Date timestamp formatted as `2006-01-02T15:00:00Z`
}
]
search: string
limit: number
order: number
orderDirection: number
offset: number
pageCount: number
currentPage: number
totalCount: number
}
Create new macaroon API key (go to full list)
Creates new macaroon API key with given info
POST /api/v0/apikeys/create
Request body:
{
projectID: string
name: string
}
Response body:
{
key: string
keyInfo: unknown
}
Delete API Key (go to full list)
Deletes macaroon API key by id
DELETE /api/v0/apikeys/delete/{id}
Path Params:
name | type | elaboration |
---|---|---|
id |
string |
UUID formatted as 00000000-0000-0000-0000-000000000000 |
Get User (go to full list)
Gets User by request context
GET /api/v0/users/
Response body:
{
id: string // UUID formatted as `00000000-0000-0000-0000-000000000000`
fullName: string
shortName: string
email: string
userAgent: string
projectLimit: number
isProfessional: boolean
position: string
companyName: string
employeeCount: string
haveSalesContact: boolean
paidTier: boolean
isMFAEnabled: boolean
mfaRecoveryCodeCount: number
}