init commit
This commit is contained in:
117
templates/openapi/v1.yaml
Normal file
117
templates/openapi/v1.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
openapi: "3.0.0"
|
||||
|
||||
info:
|
||||
version: "1.0.0"
|
||||
title: vStash S3 Compatible API
|
||||
description: |
|
||||
A high-performance S3-compatible object storage API with management console.
|
||||
|
||||
## Features
|
||||
- Full S3 API compatibility for basic operations
|
||||
- Multipart upload support
|
||||
- Presigned URLs
|
||||
- Management console API
|
||||
- Enterprise storage backend
|
||||
|
||||
## Authentication
|
||||
Uses AWS Signature Version 4 for S3 API endpoints and API keys for management endpoints.
|
||||
contact:
|
||||
email: support@vultr.com
|
||||
name: 'vStash Support'
|
||||
url: https://www.vultr.com
|
||||
x-logo:
|
||||
url: 'https://www.vultr.com/dist/img/brand/vultr-logo-onwhite.svg'
|
||||
backgroundColor: '#fafafa'
|
||||
altText: 'vStash - S3 Compatible API and Management'
|
||||
|
||||
servers:
|
||||
- url: https://vstash.vultr.com
|
||||
description: Production server
|
||||
- url: https://vstash-staging.vultr.com
|
||||
description: Staging server
|
||||
- url: http://localhost:8000
|
||||
description: Development server
|
||||
|
||||
tags:
|
||||
- name: S3 Buckets
|
||||
description: S3 bucket operations
|
||||
- name: S3 Objects
|
||||
description: S3 object operations
|
||||
- name: S3 Multipart
|
||||
description: S3 multipart upload operations
|
||||
- name: Management - Stats
|
||||
description: System statistics and monitoring
|
||||
- name: Management - Credentials
|
||||
description: Access key and credential management
|
||||
- name: Management - Buckets
|
||||
description: Bucket management via console
|
||||
- name: Management - Objects
|
||||
description: Object management via console
|
||||
- name: Management - Presigned URLs
|
||||
description: Presigned URL management
|
||||
|
||||
paths:
|
||||
$ref: './paths.yaml'
|
||||
|
||||
components:
|
||||
schemas:
|
||||
$ref: './schemas.yaml'
|
||||
parameters:
|
||||
$ref: './parameters.yaml'
|
||||
securitySchemes:
|
||||
$ref: './security.yaml'
|
||||
responses:
|
||||
'400':
|
||||
description: Bad Request
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/S3Error'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiError'
|
||||
'401':
|
||||
description: Unauthorized
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/S3Error'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiError'
|
||||
'403':
|
||||
description: Forbidden
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/S3Error'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiError'
|
||||
'404':
|
||||
description: Not Found
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/S3Error'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiError'
|
||||
'409':
|
||||
description: Conflict
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/S3Error'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiError'
|
||||
'500':
|
||||
description: Internal Server Error
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/S3Error'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiError'
|
||||
Reference in New Issue
Block a user