CanaryCD API 0.1.dev0
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 Entity
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 Entity
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 Entity
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 Entity
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 Entity
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 Entity
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": "e3cad75e-3039-4cce-ba8e-49427f867c4b",
"name": "string",
"remote": null,
"branch": null,
"auth_id": null,
"key": null
}
]
Response 404 Not Found
Response 422 Unprocessable Entity
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": "06afb1e9-d1bb-472e-8b47-4fcb56e4c9c6",
"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 Entity
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": "5250a829-32b4-4989-a792-e6c0b441512f",
"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 Entity
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": "b20b100a-7d8a-41a1-b02f-7472623613b9",
"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 Entity
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 Entity
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 Entity
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 Entity
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": "fbd448fe-db2b-45d5-a59b-081ca591870f"
}
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 Entity
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 Entity
Page
GET /page
List all pages
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
Response 404 Not Found
Response 422 Unprocessable Entity
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"
]
}
},
"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",
"id": "4adafc26-56e1-491f-962c-7e7e6b7eed2c"
}
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"
]
},
"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 Entity
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 Entity
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 Entity
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": "69727231-0abf-4e0b-843b-1b3660afa3c2"
}
]
Response 404 Not Found
Response 422 Unprocessable Entity
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": "bf3647f5-0c10-4b2d-a4d3-30fd888e9bbb"
}
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 Entity
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": "08cd8d26-ccfd-4e61-a4bb-ef5f3db1060a"
}
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 Entity
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 Entity
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 Entity
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 Entity
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 Entity
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 Entity
Webhooks
POST /webhook/project/{token}
Deploy a Project
Input parameters
Parameter | In | Type | Default | Nullable | Description |
---|---|---|---|---|---|
token |
path | string | No |
Request body
Response 200 OK
Response 404 Not Found
Response 422 Unprocessable Entity
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 Entity
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 |
---|---|
fqdn |
string |
PageDetails
Name | Type |
---|---|
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 |