zrok/specs/zrok.yml

165 lines
3.3 KiB
YAML
Raw Normal View History

2022-07-22 16:52:36 +02:00
info:
description: zrok client access
title: zrok
2022-07-22 16:52:36 +02:00
version: 1.0.0
securityDefinitions:
key:
type: apiKey
in: header
name: x-token
2022-07-22 16:52:36 +02:00
paths:
/account:
post:
tags:
- identity
operationId: createAccount
parameters:
- name: body
in: body
schema:
$ref: "#/definitions/accountRequest"
responses:
201:
description: account created
schema:
$ref: "#/definitions/accountResponse"
2022-07-25 22:23:55 +02:00
400:
description: account not created (already exists)
2022-07-27 19:38:35 +02:00
schema:
$ref: "#/definitions/errorMessage"
2022-07-25 22:23:55 +02:00
500:
description: internal server error
2022-07-27 19:38:35 +02:00
schema:
$ref: "#/definitions/errorMessage"
2022-07-25 23:05:44 +02:00
/enable:
post:
tags:
- identity
security:
- key: []
2022-07-25 23:05:44 +02:00
operationId: enable
responses:
201:
description: environment enabled
schema:
$ref: "#/definitions/enableResponse"
2022-07-27 20:50:46 +02:00
401:
description: invalid api key
2022-07-25 23:05:44 +02:00
404:
description: account not found
500:
description: internal server error
2022-07-27 19:38:35 +02:00
schema:
$ref: "#/definitions/errorMessage"
2022-07-26 21:38:35 +02:00
/tunnel:
post:
tags:
- tunnel
security:
- key: []
2022-07-26 21:38:35 +02:00
operationId: tunnel
parameters:
- name: body
in: body
schema:
$ref: "#/definitions/tunnelRequest"
responses:
201:
description: tunnel created
schema:
$ref: "#/definitions/tunnelResponse"
2022-07-27 19:17:47 +02:00
500:
description: internal server error
2022-07-27 19:38:35 +02:00
schema:
$ref: "#/definitions/errorMessage"
2022-07-27 17:35:28 +02:00
/untunnel:
delete:
tags:
- tunnel
security:
- key: []
2022-07-27 17:35:28 +02:00
operationId: untunnel
parameters:
- name: body
in: body
schema:
$ref: "#/definitions/untunnelRequest"
responses:
200:
description: tunnel removed
500:
description: internal server error
2022-07-27 19:38:35 +02:00
schema:
$ref: "#/definitions/errorMessage"
2022-07-25 17:51:23 +02:00
/version:
get:
tags:
- metadata
operationId: version
responses:
200:
description: retrieve the current server version
schema:
$ref: "#/definitions/version"
2022-07-22 16:52:36 +02:00
definitions:
accountRequest:
type: object
properties:
username:
type: string
password:
type: string
accountResponse:
type: object
properties:
2022-07-25 22:42:06 +02:00
token:
type: string
enableResponse:
type: object
properties:
identity:
type: string
cfg:
type: string
2022-07-27 19:38:35 +02:00
errorMessage:
type: string
principal:
2022-07-28 18:12:50 +02:00
type: object
properties:
id:
type: integer
username:
type: string
token:
type: string
2022-07-26 21:38:35 +02:00
tunnelRequest:
type: object
properties:
2022-07-26 23:17:37 +02:00
identity:
2022-07-26 21:38:35 +02:00
type: string
endpoint:
type: string
tunnelResponse:
type: object
properties:
service:
type: string
2022-07-27 17:35:28 +02:00
untunnelRequest:
type: object
properties:
service:
type: string
version:
type: string
2022-07-22 16:52:36 +02:00
produces:
2022-07-22 17:45:37 +02:00
- application/zrok.v1+json
2022-07-22 16:52:36 +02:00
consumes:
2022-07-22 17:45:37 +02:00
- application/zrok.v1+json
2022-07-22 16:52:36 +02:00
schemes:
- http
swagger: "2.0"