openapi: 3.1.0
info:
title: DTZ Objectstore
version: 2.1.2
description: a generated client for the DTZ Objectstore API
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
contact:
name: Jens Walter
email: jens@apimeister.com
externalDocs:
description: dtz docs page
url: https://docs.downtozero.cloud
servers:
- url: https://objectstore.dtz.rocks/api/{version}
variables:
version:
default: "2022-11-28"
enum:
- "2022-11-28"
paths:
/enable:
post:
summary: enable the objectstore service
operationId: enableService
responses:
"200":
description: service enabled
"401":
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
"500":
description: internal error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
/disable:
post:
summary: disable the objectstore service, this operation removes all users from the storage and also deletes all content stored in the objectstore
operationId: disableService
responses:
"200":
description: service disabled
"401":
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
/obj/:
get:
summary: List objects
operationId: listObjects
parameters:
- name: prefix
in: query
description: prefix to search for
required: false
schema:
type: string
- name: X-DTZ-REALM
in: header
description: see docs https://downtozero.cloud/docs e.g. dtz-objectstore
required: false
schema:
type: string
style: simple
responses:
'200':
description: success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ObjectMetadata'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
/obj/{objectPath}:
put:
summary: Put Object
operationId: putObject
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
'201':
description: created
'400':
description: invalid expiration header
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
parameters:
- name: objectPath
in: path
description: object path (may include slashes; treated as catch-all)
required: true
schema:
type: string
style: simple
allowReserved: true
- name: X-DTZ-EXPIRATION
in: header
description: expiration of the object, format is a iso8601 duration,e.g. "P1D" for 1 day, "PT2H" for 2 hours
required: false
schema:
type: string
style: simple
deprecated: true
- name: X-DTZ-EXPIRE-IN
in: header
description: expiration of the object, format is a iso8601 duration,e.g. "P1D" for 1 day, "PT2H" for 2 hours
required: false
schema:
type: string
style: simple
- name: X-DTZ-EXPIRE-AT
in: header
description: expiration of the object, format is a rfc3339 timestamp, e.g. "2025-04-01T13:44:00Z"
required: false
schema:
type: string
format: date-time
style: simple
- name: X-DTZ-REALM
in: header
description: see docs https://downtozero.cloud/docs e.g. dtz-objectstore
required: false
schema:
type: string
style: simple
get:
summary: Get Object
operationId: getObject
responses:
'200':
description: Successful operation
content:
'*/*':
schema:
type: string
format: binary
headers:
Content-Digest:
description: sha256 digest of the content (base64 encoded)
schema:
type: string
X-DTZ-EXPIRATION:
description: expiration of the object, format is a rfc3339 timestamp, e.g. "2025-04-01T13:44:00Z"
schema:
type: string
'404':
description: not found
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
parameters:
- name: objectPath
in: path
description: object path (may include slashes; treated as catch-all)
required: true
schema:
type: string
style: simple
allowReserved: true
- name: X-DTZ-REALM
in: header
description: see docs https://downtozero.cloud/docs e.g. dtz-objectstore
required: false
schema:
type: string
style: simple
head:
summary: Get Object Metadata
operationId: getObjectMetadata
responses:
'200':
description: Successful operation
headers:
Content-Digest:
description: sha256 digest of the content (base64 encoded)
schema:
type: string
X-DTZ-EXPIRATION:
description: expiration of the object, format is a rfc3339 timestamp, e.g. "2025-04-01T13:44:00Z"
schema:
type: string
'404':
description: not found
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
parameters:
- name: objectPath
in: path
description: object path (may include slashes; treated as catch-all)
required: true
schema:
type: string
style: simple
allowReserved: true
- name: X-DTZ-REALM
in: header
description: see docs https://downtozero.cloud/docs e.g. dtz-objectstore
required: false
schema:
type: string
style: simple
delete:
summary: Delete object
description: This can only be done by the logged in user.
operationId: deleteObject
parameters:
- name: objectPath
in: path
required: true
schema:
type: string
description: object path (may include slashes; treated as catch-all)
allowReserved: true
- name: X-DTZ-REALM
in: header
description: see docs https://downtozero.cloud/docs e.g. dtz-objectstore
required: false
schema:
type: string
style: simple
responses:
'200':
description: Successful operation
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
/stats:
get:
summary: get service statistics
operationId: stats
responses:
"200":
description: service stats
content:
application/json:
schema:
$ref: '#/components/schemas/Stats'
'401':
description: unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessage'
components:
schemas:
Stats:
type: object
properties:
amountOfObjects:
type: number
amountOfStorage:
type: number
ErrorMessage:
type: object
properties:
msg:
type: string
Object:
type: object
properties:
id:
type: string
format: ObjectId
name:
type: string
ObjectMetadata:
type: object
properties:
id:
type: string
format: ObjectId
key:
type: string
size:
type: integer
sizeCompressed:
type: integer
lastModified:
type: string
format: date-time
lastAccessed:
type: string
format: date-time
metadata:
type: object
expiration:
type: string
format: date-time
required:
- id
- key
- size
- lastModified
- lastAccessed
securitySchemes:
dtz_auth:
type: oauth2
flows:
implicit:
authorizationUrl: http://identity.dtz.rocks/oauth
scopes:
write:pets: modify pets in your account
read:pets: read your pets
dtz_auth2:
type: apiKey
in: header
name: X-API-KEY
security:
- dtz_auth: []
- dtz_auth2: []
Core Services
Container Registry
Containers
Identity
Objectstore
Observability
Logs
Sources
RSS to Email
Terraform
Data Sources
Resources