CanaryCD API 0.1.dev3
Continuous Deployment API for Container and Static Pages
Canary Config
GET /config
List Full Configuration
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No |
Response 200 OK
Response 404 Not Found
PUT /config
Update Configuration
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No |
Request body
Schema of the request body
{
"properties": {
"key": {
"type": "string",
"title": "Key",
"examples": [
"ROOT_KEY",
"SLACK_WEBHOOK",
"DISCORD_WEBHOOK",
"GITHUB_APP_ID",
"GITHUB_SECRET_FILE",
"GITHUB_WEBHOOK_SECRET"
]
},
"value": {
"type": "string",
"title": "Value",
"examples": [
"config-value"
]
}
},
"type": "object",
"required": [
"key",
"value"
],
"title": "ConfigUpdate"
}
Response 200 OK
Schema of the response body
{
"properties": {
"key": {
"type": "string",
"title": "Key",
"examples": [
"ROOT_KEY",
"SLACK_WEBHOOK",
"DISCORD_WEBHOOK",
"GITHUB_APP_ID",
"GITHUB_SECRET_FILE",
"GITHUB_WEBHOOK_SECRET"
]
},
"value": {
"type": "string",
"title": "Value",
"examples": [
"config-value"
]
}
},
"type": "object",
"required": [
"key",
"value"
],
"title": "ConfigUpdate"
}
Response 404 Not Found
Response 422 Unprocessable Content
DELETE /config/{key}
Delete Configuration
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
key |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Authentication
GET /auth
List all Authentication Keys
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
filter_by |
query | None | No | ||
limit |
query | integer | 100 | No | |
offset |
query | None | 0 | No | |
ordering |
query | None | updated_at | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
POST /auth
Create Authentication Key
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No |
Request body
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$"
},
{
"type": "null"
}
],
"title": "Name",
"examples": [
"example-name"
]
},
"auth_type": {
"type": "string",
"title": "Auth Type",
"examples": [
"ssh",
"pat",
"token"
]
},
"auth_key": {
"anyOf": [
{
"type": "string",
"pattern": ".*"
},
{
"type": "null"
}
],
"title": "Auth Key",
"examples": [
"ssh-private-key",
"ghp_1234"
]
}
},
"type": "object",
"required": [
"name",
"auth_type"
],
"title": "AuthCreate"
}
Response 201 Created
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": null,
"auth_type": "string",
"public_key": null
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$"
},
{
"type": "null"
}
],
"title": "Name",
"examples": [
"example-name"
]
},
"auth_type": {
"type": "string",
"title": "Auth Type",
"examples": [
"ssh"
]
},
"public_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Public Key",
"examples": [
"ssh-ed25519 AAAAC..lGM key"
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"name",
"auth_type",
"public_key"
],
"title": "AuthDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
GET /auth/{name}
Get Authentication Key Details
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"name": null,
"auth_type": "string",
"public_key": null,
"project_count": 0
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$"
},
{
"type": "null"
}
],
"title": "Name",
"examples": [
"example-name"
]
},
"auth_type": {
"type": "string",
"title": "Auth Type",
"examples": [
"ssh"
]
},
"public_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Public Key",
"examples": [
"ssh-ed25519 AAAAC..lGM key"
]
},
"project_count": {
"type": "integer",
"title": "Project Count"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"name",
"auth_type",
"public_key"
],
"title": "AuthDetailsCount"
}
Response 404 Not Found
Response 422 Unprocessable Content
DELETE /auth/{name}
Delete Authentication Key
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Project
GET /project
List Projects
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
filter_by |
query | None | No | ||
limit |
query | integer | 100 | No | |
offset |
query | None | 0 | No | |
ordering |
query | None | updated_at | No |
Response 200 OK
[
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"id": "89c30d9a-e09f-4335-a9fd-e4ab101b5e47",
"name": "string",
"remote": null,
"branch": null,
"auth_id": null,
"key": null
}
]
Response 404 Not Found
Response 422 Unprocessable Content
POST /project
Create a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No |
Request body
Schema of the request body
{
"properties": {
"remote": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:(?P<protocol>[https?|git|ssh]+:\\/\\/))?(?:(?P<login_user>[\\w\\d]+)@)?(?P<host>[\\w\\d.-]+)([:\\/])(?P<user>[\\w\\d-]+)(?:(?P<namespace>\\/[\\w\\d-]+))?/(?P<repo>[\\w\\d-]+)(?:\\.git)?(?:@(?P<branch>[\\w.\\-/]+))?$"
},
{
"type": "null"
}
],
"title": "Remote",
"examples": [
"git@github.com:user/repo.git",
"https://github.com/user/repo.git",
"git@gitlab.com:user/namespace/repo.git",
"https://gitlab.com/user/namespace/repo.git",
"ssh://git@example.com:2222/user/repo.git"
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch",
"examples": [
"main"
]
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"examples": [
"key-name"
]
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$"
},
{
"type": "null"
}
],
"title": "Name",
"examples": [
"example-name"
]
}
},
"type": "object",
"required": [
"name"
],
"title": "ProjectCreate"
}
Response 201 Created
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"id": "d21f8d73-7150-41b4-bc9f-ceab5058df85",
"name": "string",
"remote": null,
"branch": null,
"auth_id": null,
"key": null
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$",
"title": "Name",
"examples": [
"example-name"
]
},
"remote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remote",
"examples": [
"git@github.com:user/repo.git",
"https://github.com/user/repo.git",
"git@gitlab.com:user/namespace/repo.git",
"https://gitlab.com/user/namespace/repo.git",
"ssh://git@example.com:2222/user/repo.git"
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch",
"examples": [
"main"
]
},
"auth_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Auth Id"
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"examples": [
"key-name"
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"name",
"auth_id"
],
"title": "ProjectDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
GET /project/{name}
Get Project Details
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"id": "7e28d2ba-fd9b-4046-a6c9-46ab80a7de9d",
"name": "string",
"remote": null,
"branch": null,
"auth_id": null,
"key": null
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$",
"title": "Name",
"examples": [
"example-name"
]
},
"remote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remote",
"examples": [
"git@github.com:user/repo.git",
"https://github.com/user/repo.git",
"git@gitlab.com:user/namespace/repo.git",
"https://gitlab.com/user/namespace/repo.git",
"ssh://git@example.com:2222/user/repo.git"
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch",
"examples": [
"main"
]
},
"auth_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Auth Id"
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"examples": [
"key-name"
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"name",
"auth_id"
],
"title": "ProjectDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
PUT /project/{name}
Update a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Request body
Schema of the request body
{
"properties": {
"remote": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:(?P<protocol>[https?|git|ssh]+:\\/\\/))?(?:(?P<login_user>[\\w\\d]+)@)?(?P<host>[\\w\\d.-]+)([:\\/])(?P<user>[\\w\\d-]+)(?:(?P<namespace>\\/[\\w\\d-]+))?/(?P<repo>[\\w\\d-]+)(?:\\.git)?(?:@(?P<branch>[\\w.\\-/]+))?$"
},
{
"type": "null"
}
],
"title": "Remote",
"examples": [
"git@github.com:user/repo.git",
"https://github.com/user/repo.git",
"git@gitlab.com:user/namespace/repo.git",
"https://gitlab.com/user/namespace/repo.git",
"ssh://git@example.com:2222/user/repo.git"
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch",
"examples": [
"main"
]
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"examples": [
"key-name"
]
}
},
"type": "object",
"title": "ProjectUpdate"
}
Response 200 OK
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"id": "372128a6-517a-45cf-932f-2bb62f857d15",
"name": "string",
"remote": null,
"branch": null,
"auth_id": null,
"key": null
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[\\w-]+$",
"title": "Name",
"examples": [
"example-name"
]
},
"remote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remote",
"examples": [
"git@github.com:user/repo.git",
"https://github.com/user/repo.git",
"git@gitlab.com:user/namespace/repo.git",
"https://gitlab.com/user/namespace/repo.git",
"ssh://git@example.com:2222/user/repo.git"
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch",
"examples": [
"main"
]
},
"auth_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Auth Id"
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key",
"examples": [
"key-name"
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"name",
"auth_id"
],
"title": "ProjectDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
DELETE /project/{name}
Delete a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
GET /project/{name}/refresh-token
Refresh Deploy Token
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Secrets
GET /secret/{project}
List Secrets
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
offset |
query | integer | 0 | No | |
project |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
PUT /secret/{project}
Update Secret
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
project |
path | string | No |
Request body
Schema of the request body
{
"properties": {
"key": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[A-Z0-9_]+$",
"title": "Key",
"examples": [
"HOST"
]
},
"value": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"title": "Value",
"examples": [
"example.com"
]
}
},
"type": "object",
"required": [
"key",
"value"
],
"title": "VariableUpdate"
}
Response 200 OK
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"key": "string",
"id": "8ca084e2-c1cc-471d-a6b1-4001d907e52a"
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"key": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^[A-Z0-9_]+$",
"title": "Key",
"examples": [
"HOST"
]
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"key",
"id"
],
"title": "VariableDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
DELETE /secret/{project}/{variable}
Delete Secret
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
project |
path | string | No | ||
variable |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Page
GET /page
List all pages
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
filter_by |
query | None | No | ||
limit |
query | integer | 100 | No | |
offset |
query | None | 0 | No | |
ordering |
query | None | fqdn | No |
Response 200 OK
[
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"fqdn": "string",
"cors_hosts": null,
"id": "485f7118-908f-4a61-bbe1-8f7b58ea56de"
}
]
Response 404 Not Found
Response 422 Unprocessable Content
POST /page
Create a new page
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No |
Request body
Schema of the request body
{
"properties": {
"fqdn": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Fqdn",
"examples": [
"example.com",
"www.example.com"
]
},
"cors_hosts": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cors Hosts"
}
},
"type": "object",
"required": [
"fqdn"
],
"title": "PageCreate"
}
Response 201 Created
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"fqdn": "string",
"cors_hosts": null,
"id": "0400d915-f83d-45fd-86a2-9fdf000f7ba8"
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"fqdn": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Fqdn",
"examples": [
"example.com",
"www.example.com"
]
},
"cors_hosts": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cors Hosts"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"fqdn",
"id"
],
"title": "PageDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
GET /page/{fqdn}
Get Page Details
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
fqdn |
path | string | No |
Response 200 OK
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"fqdn": "string",
"cors_hosts": null,
"id": "5e69b558-65c7-41ba-a671-885f8e9182f7"
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"fqdn": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Fqdn",
"examples": [
"example.com",
"www.example.com"
]
},
"cors_hosts": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cors Hosts"
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"fqdn",
"id"
],
"title": "PageDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
DELETE /page/{fqdn}
Page Delete
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
fqdn |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
GET /page/{fqdn}/refresh-token
Page Deploy Key
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
fqdn |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Redirect
GET /redirect
List Redirects
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
limit |
query | integer | 100 | No | |
offset |
query | integer | 0 | No |
Response 200 OK
[
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"source": "string",
"destination": "string",
"id": "bfc99e54-1df1-487a-ba3f-a96c326feb0f"
}
]
Response 404 Not Found
Response 422 Unprocessable Content
POST /redirect
Create a new Redirect
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No |
Request body
Schema of the request body
{
"properties": {
"source": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Source",
"examples": [
"www.example.com"
]
},
"destination": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Destination",
"examples": [
"example.com",
"www.example.com"
]
}
},
"type": "object",
"required": [
"source",
"destination"
],
"title": "RedirectCreate"
}
Response 201 Created
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"source": "string",
"destination": "string",
"id": "8020f91a-1754-4f3d-ba55-47ec128d36cb"
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"source": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Source",
"examples": [
"www.example.com"
]
},
"destination": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Destination",
"examples": [
"example.com",
"www.example.com"
]
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"source",
"destination",
"id"
],
"title": "RedirectDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
PUT /redirect/{fqdn}
Update a Redirect
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
fqdn |
path | string | No |
Request body
Schema of the request body
{
"properties": {
"destination": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Destination",
"examples": [
"example.com",
"www.example.com"
]
}
},
"type": "object",
"required": [
"destination"
],
"title": "RedirectUpdate"
}
Response 200 OK
{
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"source": "string",
"destination": "string",
"id": "5f09d833-9dae-4d9d-afa9-f9a349bbae80"
}
Schema of the response body
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At",
"examples": [
"1999-12-31T23:59:59.000Z"
]
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"examples": [
"2000-01-01T00:00:00.000Z"
]
},
"source": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Source",
"examples": [
"www.example.com"
]
},
"destination": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"pattern": "^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
"title": "Destination",
"examples": [
"example.com",
"www.example.com"
]
},
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"source",
"destination",
"id"
],
"title": "RedirectDetails"
}
Response 404 Not Found
Response 422 Unprocessable Content
DELETE /redirect/{fqdn}
Delete a Redirect
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
fqdn |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Deployment
GET /deploy/{name}/start
Deploy a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
GET /deploy/{name}/stop
Stop a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
GET /deploy/{name}/status
Status of a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
name |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
POST /upload/{page}
Upload Page Payload
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
OAuth2PasswordBearer |
header | string | N/A | No | |
page |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
Webhooks
POST /webhook/project/{token}
Deploy a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
token |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
POST /webhook/page/{token}
Upload Page Payload
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
token |
path | string | No |
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Content
export
GET /export/traefik.json
traefik config provider
Response 200 OK
Response 404 Not Found
Schemas
AuthCreate
Name | Type |
---|---|
auth_key |
|
auth_type |
string |
name |
AuthDetails
Name | Type |
---|---|
auth_type |
string |
created_at |
string(date-time) |
name |
|
public_key |
|
updated_at |
string(date-time) |
AuthDetailsCount
Name | Type |
---|---|
auth_type |
string |
created_at |
string(date-time) |
name |
|
project_count |
integer |
public_key |
|
updated_at |
string(date-time) |
ConfigUpdate
Name | Type |
---|---|
key |
string |
value |
string |
HTTPValidationError
Name | Type |
---|---|
detail |
Array<ValidationError> |
PageCreate
Name | Type |
---|---|
cors_hosts |
|
fqdn |
string |
PageDetails
Name | Type |
---|---|
cors_hosts |
|
created_at |
string(date-time) |
fqdn |
string |
id |
string(uuid) |
updated_at |
string(date-time) |
ProjectCreate
Name | Type |
---|---|
branch |
|
key |
|
name |
|
remote |
ProjectDetails
Name | Type |
---|---|
auth_id |
|
branch |
|
created_at |
string(date-time) |
id |
string(uuid) |
key |
|
name |
string |
remote |
|
updated_at |
string(date-time) |
ProjectUpdate
Name | Type |
---|---|
branch |
|
key |
|
remote |
RedirectCreate
Name | Type |
---|---|
destination |
string |
source |
string |
RedirectDetails
Name | Type |
---|---|
created_at |
string(date-time) |
destination |
string |
id |
string(uuid) |
source |
string |
updated_at |
string(date-time) |
RedirectUpdate
Name | Type |
---|---|
destination |
string |
ValidationError
Name | Type |
---|---|
loc |
Array<> |
msg |
string |
type |
string |
VariableDetails
Name | Type |
---|---|
created_at |
string(date-time) |
id |
string(uuid) |
key |
string |
updated_at |
string(date-time) |
VariableUpdate
Name | Type |
---|---|
key |
string |
value |
string |
VariableValueDetails
Name | Type |
---|---|
created_at |
string(date-time) |
id |
string(uuid) |
key |
string |
updated_at |
string(date-time) |
value |
Security schemes
Name | Type | Scheme | Description |
---|---|---|---|
OAuth2PasswordBearer | oauth2 |