KyPanelDocs

API reference

Apps

Git-deployed apps (PHP, Node.js, Python), releases, processes, environment, Redis, GitHub connections.

List apps

GET/api/v1/accounts/{id}/apps

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appList · ky call appList

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of AppView
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Create an app

POST/api/v1/accounts/{id}/apps

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appCreate · ky call appCreate

Parameters

NameIn
idpath

Request body

FieldType
branchstring
composer_authstring
create_databaseboolean
deploy_scriptstring
deploy_timeoutinteger
domain_idstring
git_connection_idstring
health_pathstring
inject_envboolean
keep_releasesinteger
namestring
php_versionstring
push_to_deployboolean
repo_full_namestring
repo_urlstring
runtime_versionstring
schedulerboolean
shared_pathsarray of string
start_commandstring
typestring
web_dirstring

Responses

  • 201 Created
    Body
    FieldType
    appAppView
    webhook_secretstring
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: limit-reached, not-ready, validation
  • 500 Internal Server Error: internal

Delete an app

DELETE/api/v1/accounts/{id}/apps/{aid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appDelete · ky call appDelete

Parameters

NameIn
idpath
aidpath
confirmquery

Responses

  • 204 Done, no content
  • 400 Bad Request: confirmation-required
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Get an app

GET/api/v1/accounts/{id}/apps/{aid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appGet · ky call appGet

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    appAppView
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Update an app

PUT/api/v1/accounts/{id}/apps/{aid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appUpdate · ky call appUpdate

Parameters

NameIn
idpath
aidpath

Request body

FieldType
branchstring
composer_authstring
create_databaseboolean
deploy_scriptstring
deploy_timeoutinteger
domain_idstring
git_connection_idstring
health_pathstring
inject_envboolean
keep_releasesinteger
namestring
php_versionstring
push_to_deployboolean
repo_full_namestring
repo_urlstring
runtime_versionstring
schedulerboolean
shared_pathsarray of string
start_commandstring
typestring
web_dirstring

Responses

  • 200 OK
    Body
    FieldType
    appAppView
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Run a command in the app's directory

POST/api/v1/accounts/{id}/apps/{aid}/command

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appCommand · ky call appCommand

Parameters

NameIn
idpath
aidpath

Request body

FieldType
commandstring

Responses

  • 200 OK
    Body

    map of any

  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-deployed, not-ready
  • 500 Internal Server Error: internal

Start, stop or restart the app's processes

POST/api/v1/accounts/{id}/apps/{aid}/ctl

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appControl · ky call appControl

Parameters

NameIn
idpath
aidpath

Request body

FieldType
actionstring
procstring

Responses

  • 200 OK
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: ctl-failed

Deploy the app

POST/api/v1/accounts/{id}/apps/{aid}/deploy

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appDeploy · ky call appDeploy

Parameters

NameIn
idpath
aidpath

Request body

FieldType
commitstring

Responses

  • 202 Accepted (runs in the background)
    Body
    FieldType
    deploymentStoreDeployment
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: deploy-busy, not-ready
  • 500 Internal Server Error: internal

Remove the app's deploy hook URL

DELETE/api/v1/accounts/{id}/apps/{aid}/deploy-hook

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appHookDelete · ky call appHookDelete

Parameters

NameIn
idpath
aidpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Create or rotate the app's deploy hook URL

POST/api/v1/accounts/{id}/apps/{aid}/deploy-hook

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appHookRotate · ky call appHookRotate

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    urlstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

List deployments

GET/api/v1/accounts/{id}/apps/{aid}/deployments

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appDeployments · ky call appDeployments

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of StoreDeployment
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Get a deployment

GET/api/v1/accounts/{id}/apps/{aid}/deployments/{did}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appDeployment · ky call appDeployment

Parameters

NameIn
idpath
aidpath
didpath

Responses

  • 200 OK
    Body
    FieldType
    deploymentStoreDeployment
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Cancel a deployment

POST/api/v1/accounts/{id}/apps/{aid}/deployments/{did}/cancel

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appDeployCancel · ky call appDeployCancel

Parameters

NameIn
idpath
aidpath
didpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready, not-running
  • 500 Internal Server Error: internal

Deployment log

GET/api/v1/accounts/{id}/apps/{aid}/deployments/{did}/log

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appDeployLog · ky call appDeployLog

Parameters

NameIn
idpath
aidpath
didpath
offsetquery

Responses

  • 200 OK
    Body
    FieldType
    offsetinteger
    sizeinteger
    statusstring
    textstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Get the app's environment file

GET/api/v1/accounts/{id}/apps/{aid}/env

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appEnvGet · ky call appEnvGet

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    contentstring
  • 400 Bad Request: file-operation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Save the app's environment file

PUT/api/v1/accounts/{id}/apps/{aid}/env

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appEnvPut · ky call appEnvPut

Parameters

NameIn
idpath
aidpath

Request body

FieldType
config_cacheboolean
contentstring
restart_queuesboolean

Responses

  • 200 OK
    Body
    FieldType
    notesarray of string
    savedboolean
  • 400 Bad Request: file-operation, validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

List versions of the environment file

GET/api/v1/accounts/{id}/apps/{aid}/env/history

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appEnvHistory · ky call appEnvHistory

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of StoreEnvVersion
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Get a version of the environment file

GET/api/v1/accounts/{id}/apps/{aid}/env/history/{vid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appEnvVersion · ky call appEnvVersion

Parameters

NameIn
idpath
aidpath
vidpath

Responses

  • 200 OK
    Body
    FieldType
    contentstring
    created_atinteger
    created_bystring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Pin the Git server's host keys again

POST/api/v1/accounts/{id}/apps/{aid}/known-hosts

Reads the Git server's host keys again and pins them (after the server changed its keys).

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appKnownHosts · ky call appKnownHosts

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    host_key_fingerprintsarray of string
  • 400 Bad Request: not-ssh
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: keyscan-failed

App logs

GET/api/v1/accounts/{id}/apps/{aid}/logs

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appLogs · ky call appLogs

Parameters

NameIn
idpath
aidpath
filequery

Responses

  • 200 OK
    Body

    map of any

  • 400 Bad Request: file-operation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

List the app's processes (workers, queues, scheduler)

GET/api/v1/accounts/{id}/apps/{aid}/processes

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appProcesses · ky call appProcesses

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of StoreAppProcess
    statusany
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Add a process

POST/api/v1/accounts/{id}/apps/{aid}/processes

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
postAccountsIdAppsAidProcesses · ky call postAccountsIdAppsAidProcesses

Parameters

NameIn
idpath
aidpath

Request body

FieldType
commandstring
enabledboolean
instancesinteger
kindstring
namestring
stop_waitinteger
workerHostingWorkerOptions

Responses

  • 200 OK
    Body
    FieldType
    processStoreAppProcess
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: apply-failed

Delete a process

DELETE/api/v1/accounts/{id}/apps/{aid}/processes/{pid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appProcessDelete · ky call appProcessDelete

Parameters

NameIn
idpath
aidpath
pidpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Update a process

PUT/api/v1/accounts/{id}/apps/{aid}/processes/{pid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
putAccountsIdAppsAidProcessesPid · ky call putAccountsIdAppsAidProcessesPid

Parameters

NameIn
idpath
aidpath
pidpath

Request body

FieldType
commandstring
enabledboolean
instancesinteger
kindstring
namestring
stop_waitinteger
workerHostingWorkerOptions

Responses

  • 200 OK
    Body
    FieldType
    processStoreAppProcess
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: apply-failed

List releases

GET/api/v1/accounts/{id}/apps/{aid}/releases

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appReleases · ky call appReleases

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Roll back to a previous release

POST/api/v1/accounts/{id}/apps/{aid}/rollback

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appRollback · ky call appRollback

Parameters

NameIn
idpath
aidpath

Request body

FieldType
releasestring

Responses

  • 202 Accepted (runs in the background)
    Body
    FieldType
    deploymentStoreDeployment
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: already-live, deploy-busy, not-ready
  • 500 Internal Server Error: internal

Get the app's push-to-deploy webhook

GET/api/v1/accounts/{id}/apps/{aid}/webhook

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appWebhookGet · ky call appWebhookGet

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    secretstring
    urlstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Rotate the app's push-to-deploy webhook

POST/api/v1/accounts/{id}/apps/{aid}/webhook/rotate

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appWebhookRotate · ky call appWebhookRotate

Parameters

NameIn
idpath
aidpath

Responses

  • 200 OK
    Body
    FieldType
    secretstring
    urlstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Options for a new app (runtimes, domains, versions)

GET/api/v1/accounts/{id}/apps/options

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: apps
Feature
apps
Operation
appOptions · ky call appOptions

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    node_versionsarray of string
    php_versionsarray of string
    python_versionsarray of string
    typesarray of map of any
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)

List Git connections

GET/api/v1/accounts/{id}/git/connections

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnections · ky call gitConnections

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    github_appstring
    github_availableboolean
    itemsarray of StoreGitConnection
    usersarray of UserView
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Remove a Git connection

DELETE/api/v1/accounts/{id}/git/connections/{cid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnectionDelete · ky call gitConnectionDelete

Parameters

NameIn
idpath
cidpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Rename a Git connection

PUT/api/v1/accounts/{id}/git/connections/{cid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnectionRename · ky call gitConnectionRename

Parameters

NameIn
idpath
cidpath

Request body

FieldType
nicknamestring

Responses

  • 200 OK
    Body
    FieldType
    connectionStoreGitConnection
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

List a repository's branches

GET/api/v1/accounts/{id}/git/connections/{cid}/branches

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnectionBranches · ky call gitConnectionBranches

Parameters

NameIn
idpath
cidpath
repoquery
repo_idquery

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of string
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: github-failed

Detect the PHP version a repository needs

GET/api/v1/accounts/{id}/git/connections/{cid}/php

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnectionPHP · ky call gitConnectionPHP

Parameters

NameIn
idpath
cidpath
branchquery
repoquery
repo_idquery

Responses

  • 200 OK
    Body
    FieldType
    constraintstring
    versionstring
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: github-failed

List repositories

GET/api/v1/accounts/{id}/git/connections/{cid}/repos

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnectionRepos · ky call gitConnectionRepos

Parameters

NameIn
idpath
cidpath

Responses

  • 200 OK
    Body
    FieldType
    itemsarray of GithubRepo
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: github-failed

Connect a GitHub account or organization

POST/api/v1/accounts/{id}/git/connections/github

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitConnectGitHub · ky call gitConnectGitHub

Parameters

NameIn
idpath

Request body

FieldType
modestring

Responses

  • 200 OK
    Body
    FieldType
    urlstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: github-off, not-ready
  • 500 Internal Server Error: internal

Remove a GitHub user and its connections

DELETE/api/v1/accounts/{id}/git/users/{uid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitUserDelete · ky call gitUserDelete

Parameters

NameIn
idpath
uidpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Rename a GitHub user

PUT/api/v1/accounts/{id}/git/users/{uid}

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: git
Feature
apps
Operation
gitUserRename · ky call gitUserRename

Parameters

NameIn
idpath
uidpath

Request body

FieldType
nicknamestring

Responses

  • 204 Done, no content
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Turn off Redis (Valkey)

DELETE/api/v1/accounts/{id}/valkey

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: valkey
Feature
apps
Operation
valkeyDelete · ky call valkeyDelete

Parameters

NameIn
idpath

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Get the Redis (Valkey) instance

GET/api/v1/accounts/{id}/valkey

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: valkey
Feature
apps
Operation
valkeyGet · ky call valkeyGet

Parameters

NameIn
idpath

Responses

  • 200 OK
    Body
    FieldType
    enabled alwaysboolean
    hoststring
    maxmemory_mbinteger
    passwordstring
    portinteger
    statusstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal

Turn on or resize Redis (Valkey)

PUT/api/v1/accounts/{id}/valkey

Who
root, reseller (ACL: create-user-session); customer
API tokens
admin token area: accounts; account token area: valkey
Feature
apps
Operation
valkeyPut · ky call valkeyPut

Parameters

NameIn
idpath

Request body

FieldType
maxmemory_mbinteger

Responses

  • 200 OK
    Body
    FieldType
    enabled alwaysboolean
    hoststring
    maxmemory_mbinteger
    passwordstring
    portinteger
    statusstring
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 404 Not Found: not-found
  • 409 Conflict: not-ready
  • 500 Internal Server Error: internal
  • 502 Bad Gateway: valkey-failed

Delete the server's GitHub App

DELETE/api/v1/github/app

Who
root
API tokens
admin token area: server
Operation
githubAppDelete · ky call githubAppDelete

Responses

  • 204 Done, no content
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Get the server's GitHub App

GET/api/v1/github/app

Who
root
API tokens
admin token area: server
Operation
githubAppGet · ky call githubAppGet

Responses

  • 200 OK
    Body
    FieldType
    appHostingGitHubAppView
    panel_urlstring
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

Finish creating the GitHub App (GitHub redirect)

GET/api/v1/github/app/created

Who
public
API tokens
not needed
Operation
githubAppCreated · ky call githubAppCreated

Parameters

NameIn
codequery
statequery

Responses

  • 303 Redirect

Start creating the GitHub App

POST/api/v1/github/app/manifest

Returns the form the browser posts to GitHub ("Create GitHub App" page, back to /created).

Who
root
API tokens
admin token area: server
Operation
githubAppManifest · ky call githubAppManifest

Request body

FieldType
orgstring

Responses

  • 200 OK
    Body
    FieldType
    actionstring
    manifeststring
  • 400 Bad Request: validation
  • 401 Unauthorized: no session, or an invalid or expired token
  • 403 Forbidden: the caller can't use this (privileges, token scope, feature turned off)
  • 500 Internal Server Error: internal

GitHub installation callback

GET/api/v1/github/callback

Is where GitHub sends a customer after installing or authorizing the app.

Who
public
API tokens
not needed
Operation
githubCallback · ky call githubCallback

Parameters

NameIn
codequery
installation_idquery
statequery

Responses

  • 303 Redirect