API reference
Swagger Spec based reference
- GET /1.0/services
List services
- Status Codes:
200 OK – Services
204 No Content – No content
- Response JSON Object:
[].instances[] (string)
[].plans[] (string)
[].service (string)
[].service_instances[].apps[] (string)
[].service_instances[].bound_units[].app_name (string)
[].service_instances[].bound_units[].id (string)
[].service_instances[].bound_units[].ip (string)
[].service_instances[].description (string)
[].service_instances[].id (integer)
[].service_instances[].jobs[] (string)
[].service_instances[].name (string)
[].service_instances[].parameters (object)
[].service_instances[].plan_name (string)
[].service_instances[].pool (string)
[].service_instances[].service_name (string)
[].service_instances[].tags[] (string)
[].service_instances[].team_owner (string)
[].service_instances[].teams[] (string)
- POST /1.0/services
Creates a new service
- Request JSON Object:
endpoint (string)
id (string)
multi-cluster (string)
password (string)
team (string)
username (string)
- Status Codes:
201 Created – Services
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Service not found
- GET /1.0/services/{name}
Information on a service
- Parameters:
name (string) – Service name.
- Status Codes:
200 OK – Service removed
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Service not found
- Response JSON Object:
[].apps[] (string)
[].id (string)
[].info (object)
[].jobs[] (string)
[].name (string)
[].planname (string)
[].pool (string)
[].servicename (string)
[].teamowner (string)
[].teams[] (string)
- PUT /1.0/services/{name}
Updates a service
- Parameters:
name (string) – Service name.
- Request JSON Object:
endpoint (string)
id (string)
multi-cluster (string)
password (string)
team (string)
username (string)
- Status Codes:
200 OK – Service Updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Service not found
- DELETE /1.0/services/{name}
Delete a service
- Parameters:
name (string) – Service name.
- Status Codes:
200 OK – Service removed
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Service not found
- GET /1.0/services/{name}/plans
Plans for a service
- Parameters:
name (string) – Service name.
- Query Parameters:
pool (string)
- Status Codes:
200 OK – Service plans
401 Unauthorized – Unauthorized
404 Not Found – Service not found
- Response JSON Object:
[].description (string)
[].name (string)
- GET /1.0/services/{name}/doc
Documentation on a service
- Parameters:
name (string) – Service name.
- Status Codes:
200 OK – Service docs
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Service not found
- PUT /1.0/services/{name}/doc
Documentation on a service
- Parameters:
name (string) – Service name.
- Request JSON Object:
doc (string)
- Status Codes:
200 OK – Service docs added
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
- PUT /1.0/services/{service}/team/{team}
Grant access to team for the service
- Parameters:
service (string) – Service name.
team (string) – Team name
- Status Codes:
200 OK – Team access granted
400 Bad Request – Team not found
401 Unauthorized – Unauthorized
404 Not Found – Service not found
409 Conflict – Team already has access to this service
- DELETE /1.0/services/{service}/team/{team}
Revoke access to team for the service
- Parameters:
service (string) – Service name.
team (string) – Team name
- Status Codes:
200 OK – Team access revoked
400 Bad Request – Team not found
401 Unauthorized – Unauthorized
404 Not Found – Service not found
409 Conflict – Team does not has access to this service
- GET /1.0/services/instances
List service instances
- Query Parameters:
app (string) – Filter instances by app name
- Status Codes:
200 OK – Service instances
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].instances[] (string)
[].plans[] (string)
[].service (string)
[].service_instances[].apps[] (string)
[].service_instances[].bound_units[].app_name (string)
[].service_instances[].bound_units[].id (string)
[].service_instances[].bound_units[].ip (string)
[].service_instances[].description (string)
[].service_instances[].id (integer)
[].service_instances[].jobs[] (string)
[].service_instances[].name (string)
[].service_instances[].parameters (object)
[].service_instances[].plan_name (string)
[].service_instances[].pool (string)
[].service_instances[].service_name (string)
[].service_instances[].tags[] (string)
[].service_instances[].team_owner (string)
[].service_instances[].teams[] (string)
- POST /1.0/services/{service}/instances
Create a service instance
- Parameters:
service (string) – Service name.
- Request JSON Object:
apps[] (string)
bound_units[].app_name (string)
bound_units[].id (string)
bound_units[].ip (string)
description (string)
id (integer)
jobs[] (string)
name (string)
parameters (object)
plan_name (string)
pool (string)
service_name (string)
tags[] (string)
team_owner (string)
teams[] (string)
- Status Codes:
200 OK – Service instance created
401 Unauthorized – Unauthorized
404 Not Found – Service not found
- GET /1.0/services/{service}/instances/{instance}
Get service instance information
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
- Status Codes:
200 OK – Service instance
401 Unauthorized – Unauthorized
404 Not Found – Service instance not found
- Response JSON Object:
apps[] (string)
custominfo (object)
description (string)
jobs[] (string)
parameters (object)
plandescription (string)
planname (string)
pool (string)
tags[] (string)
teamowner (string)
teams[] (string)
- PUT /1.0/services/{service}/instances/{instance}
Update a service instance
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
- Request JSON Object:
description (string)
parameters (object)
plan (string)
tags[] (string)
teamowner (string)
- Status Codes:
200 OK – Service instance updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Service instance not found
- DELETE /1.0/services/{service}/instances/{instance}
Remove service instance
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
- Query Parameters:
unbindall (boolean) – Remove current binds to this instance
- Status Codes:
200 OK – Service removed
400 Bad Request – Bad request
401 Unauthorized – Unauthorized
404 Not Found – Service instance not found
- PUT /1.0/services/{service}/instances/{instance}/{app}
Bind the service instance to app
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
app (string) – App name.
- Request JSON Object:
noRestart (boolean)
parameters (object)
- Status Codes:
200 OK – Instance bound to the app.
401 Unauthorized – Unauthorized
- DELETE /1.0/services/{service}/instances/{instance}/{app}
Unbind the service instance from app
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
app (string) – App name.
- Request JSON Object:
force (boolean)
noRestart (boolean)
- Status Codes:
200 OK – Instance has been unbound from the app.
401 Unauthorized – Unauthorized
- GET /1.0/services/{service}/instances/{instance}/status
Status for service instance
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
- Status Codes:
200 OK – Instance has been unbound from the app.
401 Unauthorized – Unauthorized
404 Not Found – Service instance or team not found
- PUT /1.0/services/{service}/instances/permission/{instance}/{team}
Grant access to team for this service instance
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
team (string) – Team name.
- Status Codes:
200 OK – Access granted
401 Unauthorized – Unauthorized
404 Not Found – Service instance or team not found
- DELETE /1.0/services/{service}/instances/permission/{instance}/{team}
Revoke access to team for this service instance
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
team (string) – Team name.
- Status Codes:
200 OK – Access revoked
401 Unauthorized – Unauthorized
404 Not Found – Service instance or team not found
- PUT /1.13/services/{service}/instances/{instance}/apps/{app}
Bind the service instance to app
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
app (string) – App name.
- Request JSON Object:
noRestart (boolean)
parameters (object)
- Status Codes:
200 OK – Instance bound to the app.
401 Unauthorized – Unauthorized
404 Not Found – App not found.
- DELETE /1.13/services/{service}/instances/{instance}/apps/{app}
Unbind the service instance from app
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
app (string) – App name.
- Request JSON Object:
force (boolean)
noRestart (boolean)
- Status Codes:
200 OK – Instance has been unbound from the app.
401 Unauthorized – Unauthorized
404 Not Found – App not found.
- PUT /1.13/services/{service}/instances/{instance}/jobs/{job}
Bind the service instance to job
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
job (string) – Job name.
- Request JSON Object:
parameters (object)
- Status Codes:
200 OK – Instance bound to the job.
401 Unauthorized – Unauthorized
404 Not Found – Job not found.
- DELETE /1.13/services/{service}/instances/{instance}/jobs/{job}
Unbind the service instance from job
- Parameters:
service (string) – Service name.
instance (string) – Instance name.
job (string) – Job name.
- Request JSON Object:
force (boolean)
- Status Codes:
200 OK – Instance has been unbound from the job.
401 Unauthorized – Unauthorized
404 Not Found – Job not found.
- GET /1.7/brokers
List service brokers
- Status Codes:
200 OK – List service brokers
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
brokers[].Config (any)
brokers[].Name (string)
brokers[].URL (string)
- POST /1.7/brokers
Create service broker
- Request JSON Object:
Config (any)
Name (string)
URL (string)
- Status Codes:
200 OK – Service Broker created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
409 Conflict – Service Broker already exists.
- DELETE /1.7/brokers/{name}
- Parameters:
name (string) – Service Broker name.
- Status Codes:
200 OK – Service Broker deleted.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
404 Not Found – Service Broker not found.
- PUT /1.7/brokers/{name}
Update service broker
- Parameters:
name (string) – Service Broker name.
- Request JSON Object:
Config (any)
Name (string)
URL (string)
- Status Codes:
200 OK – Service Broker updated.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
404 Not Found – Service Broker not found.
- GET /1.0/plans
List plans.
- Status Codes:
200 OK – Plans list
204 No Content – No content
- Response JSON Object:
[].cpuBurst.default (number)
[].cpuBurst.maxAllowed (number)
[].cpumilli (integer)
[].default (boolean)
[].memory (integer)
[].name (string)
[].override.cpuBurst (number)
[].override.cpumilli (integer)
[].override.memory (integer)
- POST /1.0/plans
Create a new plan
- Request JSON Object:
cpuBurst.default (number)
cpuBurst.maxAllowed (number)
cpumilli (integer)
default (boolean)
memory (integer)
name (string)
override.cpuBurst (number)
override.cpumilli (integer)
override.memory (integer)
- Status Codes:
201 Created – Plan created
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
409 Conflict – Plan already exists
- Response JSON Object:
cpuBurst.default (number)
cpuBurst.maxAllowed (number)
cpumilli (integer)
default (boolean)
memory (integer)
name (string)
override.cpuBurst (number)
override.cpumilli (integer)
override.memory (integer)
- DELETE /1.0/plans/{plan}
Remove a plan
- Parameters:
plan (string) – Remove current plan
- Status Codes:
200 OK – Plan removed
401 Unauthorized – Unauthorized
404 Not Found – Plan not found
- GET /1.0/apps
List apps.
- Query Parameters:
locked (boolean) – Filter applications by lock status.
name (string) – Filter applications by name.
owner (string) – Filter applications by owner.
platform (string) – Filter applications by platform.
pool (string) – Filter applications by pool.
status (string) – Filter applications by unit status.
tag (array) – Filter applications by tag.
teamOwner (string) – Filter applications by team owner.
simplified (boolean) – Returns applications without units list.
- Status Codes:
200 OK – List apps
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].cname[] (string)
[].error (string)
[].ip (string)
[].lock.acquireDate (string)
[].lock.locked (boolean)
[].lock.owner (string)
[].lock.reason (string)
[].name (string)
[].plan.cpuBurst.default (number)
[].plan.cpuBurst.maxAllowed (number)
[].plan.cpumilli (integer)
[].plan.default (boolean)
[].plan.memory (integer)
[].plan.name (string)
[].plan.override.cpuBurst (number)
[].plan.override.cpumilli (integer)
[].plan.override.memory (integer)
[].pool (string)
[].routers[].address (string)
[].routers[].name (string)
[].routers[].opts (object)
[].routers[].status (string)
[].routers[].status-detail (string)
[].routers[].type (string)
[].tags[] (string)
[].teamOwner (string)
[].units[].address.host (string)
[].units[].address.scheme (string)
[].units[].appname (string)
[].units[].createdAt (string)
[].units[].id (string)
[].units[].ip (string)
[].units[].name (string)
[].units[].processname (string)
[].units[].ready (boolean)
[].units[].restarts (integer)
[].units[].routable (boolean)
[].units[].status (string)
[].units[].type (string)
[].units[].version (integer)
- POST /1.0/apps
Create a new app.
- Request JSON Object:
description (string) – App description.
metadata.annotations[].delete (boolean)
metadata.annotations[].name (string)
metadata.annotations[].value (string)
metadata.labels[].delete (boolean)
metadata.labels[].name (string)
metadata.labels[].value (string)
name (string) – App name. (required)
plan (string) – App plan name.
platform (string) – App platform.
pool (string) – App pool name.
processes[].metadata.annotations[].delete (boolean)
processes[].metadata.annotations[].name (string)
processes[].metadata.annotations[].value (string)
processes[].metadata.labels[].delete (boolean)
processes[].metadata.labels[].name (string)
processes[].metadata.labels[].value (string)
processes[].name (string)
processes[].plan (string)
router (string) – App router name.
routeropts (object) – Custom router options.
tags[] (string)
teamOwner (string) – Team that owns the app.
- Status Codes:
201 Created – App created
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Quota exceeded
409 Conflict – App already exists
- Response JSON Object:
ip (string)
repository_url (string)
status (string)
- GET /1.0/apps/{app}
Get info about a tsuru app.
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – App info
401 Unauthorized – Unauthorized.
404 Not Found – App not found.
- Response JSON Object:
autoscaleRecommendation[].process (string)
autoscaleRecommendation[].recommendations[].cpu (string)
autoscaleRecommendation[].recommendations[].memory (string)
autoscaleRecommendation[].recommendations[].type (string)
autoscale[].averageCPU (string)
autoscale[].maxUnits (integer)
autoscale[].minUnits (integer)
autoscale[].process (string)
autoscale[].prometheus[].activationThreshold (number)
autoscale[].prometheus[].name (string)
autoscale[].prometheus[].prometheusAddress (string)
autoscale[].prometheus[].query (string)
autoscale[].prometheus[].threshold (number)
autoscale[].schedules[].end (string)
autoscale[].schedules[].minReplicas (integer)
autoscale[].schedules[].name (string)
autoscale[].schedules[].start (string)
autoscale[].schedules[].timezone (string)
autoscale[].version (integer)
cluster (string) – Cluster name
cname[] (string)
deploys (integer) – Number of Deploys
description (string) – App description.
error (string) – Errors during AppGet
internalAddresses[].Domain (string)
internalAddresses[].Port (integer)
internalAddresses[].Process (string)
internalAddresses[].Protocol (string)
internalAddresses[].Version (string)
ip (string)
lock.acquireDate (string)
lock.locked (boolean)
lock.owner (string)
lock.reason (string)
metadata.annotations[].delete (boolean)
metadata.annotations[].name (string)
metadata.annotations[].value (string)
metadata.labels[].delete (boolean)
metadata.labels[].name (string)
metadata.labels[].value (string)
name (string) – App name. (required)
owner (string)
plan.cpuBurst.default (number)
plan.cpuBurst.maxAllowed (number)
plan.cpumilli (integer)
plan.default (boolean)
plan.memory (integer)
plan.name (string)
plan.override.cpuBurst (number)
plan.override.cpumilli (integer)
plan.override.memory (integer)
platform (string) – App platform.
pool (string) – App pool.
processes[].metadata.annotations[].delete (boolean)
processes[].metadata.annotations[].name (string)
processes[].metadata.annotations[].value (string)
processes[].metadata.labels[].delete (boolean)
processes[].metadata.labels[].name (string)
processes[].metadata.labels[].value (string)
processes[].name (string)
processes[].plan (string)
provisioner (string) – App provisioner.
quota.inuse (integer)
quota.limit (integer)
router (string) – App router.
routeropts (object) – Custom router options.
routers[].addresses[] (string)
routers[].name (string)
routers[].opts (object)
serviceInstanceBinds[].instance (string)
serviceInstanceBinds[].plan (string)
serviceInstanceBinds[].service (string)
tags[] (string)
teamOwner (string) – Team that owns the app.
teams[] (string)
unitsMetrics[].cpu (string)
unitsMetrics[].id (string)
unitsMetrics[].memory (string)
units[].address.host (string)
units[].address.scheme (string)
units[].appname (string)
units[].createdAt (string)
units[].id (string)
units[].ip (string)
units[].name (string)
units[].processname (string)
units[].ready (boolean)
units[].restarts (integer)
units[].routable (boolean)
units[].status (string)
units[].type (string)
units[].version (integer)
volumeBinds[].ID.App (string)
volumeBinds[].ID.MountPoint (string)
volumeBinds[].ID.Volume (string)
volumeBinds[].ReadOnly (boolean)
- DELETE /1.0/apps/{app}
Delete a tsuru app.
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – App removed.
401 Unauthorized – Unauthorized.
404 Not Found – App not found.
- PUT /1.0/apps/{app}
Update a tsuru app.
- Parameters:
app (string) – App name.
- Request JSON Object:
description (string) – App description.
imageReset (boolean) – Reset app image to platform base image.
metadata.annotations[].delete (boolean)
metadata.annotations[].name (string)
metadata.annotations[].value (string)
metadata.labels[].delete (boolean)
metadata.labels[].name (string)
metadata.labels[].value (string)
noRestart (boolean) – Prevent app restart.
plan (string) – App plan name.
planoverride.cpuBurst (number)
planoverride.cpumilli (integer)
planoverride.memory (integer)
platform (string) – App platform.
pool (string) – App pool name.
processes[].metadata.annotations[].delete (boolean)
processes[].metadata.annotations[].name (string)
processes[].metadata.annotations[].value (string)
processes[].metadata.labels[].delete (boolean)
processes[].metadata.labels[].name (string)
processes[].metadata.labels[].value (string)
processes[].name (string)
processes[].plan (string)
tags[] (string)
teamOwner (string) – Team that owns the app.
- Status Codes:
200 OK – App updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Not found
- PUT /1.0/apps/{app}/certificate
Create a certificate
- Parameters:
app (string) – App name.
- Request JSON Object:
certificate (string)
cname (string)
key (string)
- Status Codes:
201 Created – Certificate created
401 Unauthorized – Unauthorized
409 Conflict – Certificate already exists
- DELETE /1.0/apps/{app}/certificate
Unset app certificate.
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – Certificate deleted
401 Unauthorized – Unauthorized
403 Forbidden – Unauthorized
404 Not Found – Certificate not found
- POST /1.5/apps/{app}/build
Build a Tsuru app image (a regular container image) following the deploy’s workflow but don’t roll it out to the provisioner. That ends up with a container image that can be pulled by the user or used to deploy the app later.
- Parameters:
app (string) – Application name
- Status Codes:
200 OK – Build finished successfully
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
- POST /1.0/apps/{app}/deploy
Build a new Tsuru app image and roll it out to the provisioner.
- Parameters:
app (string) – Application name
- Status Codes:
200 OK – Deploy finished successfully
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- POST /1.0/apps/{app}/cname
adds a cname to app
- Parameters:
app (string) – App name.
- Request JSON Object:
cname[] (string)
- Status Codes:
200 OK – Cname added
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- DELETE /1.0/apps/{app}/cname
remove cname from app
- Parameters:
app (string) – App name.
- Request JSON Object:
cname[] (string)
- Status Codes:
200 OK – Cname removed
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- POST /1.0/apps/{app}/run
run commands inside an app
- Parameters:
app (string) – App name.
- Request JSON Object:
command (string)
isolated (boolean)
once (boolean)
- Status Codes:
200 OK – Envs updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- POST /1.0/apps/{app}/env
Set new environment variable.
- Parameters:
app (string) – App name.
- Request JSON Object:
envs[].alias (string)
envs[].managedBy (string)
envs[].name (string)
envs[].private (boolean)
envs[].value (string)
managedBy (string)
norestart (boolean)
private (boolean)
pruneUnused (boolean)
- Status Codes:
200 OK – Envs updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- GET /1.0/apps/{app}/env
Get app environment variables.
- Parameters:
app (string) – App name.
- Query Parameters:
env (string) – Environment variable name.
- Status Codes:
200 OK – Environment variables
401 Unauthorized – Unauthorized
404 Not Found – App not found
- Response JSON Object:
[].alias (string)
[].managedBy (string)
[].name (string)
[].public (boolean)
[].value (string)
- DELETE /1.0/apps/{app}/env
Unset app environment variables.
- Parameters:
app (string) – App name.
- Query Parameters:
env (array)
norestart (boolean)
- Status Codes:
200 OK – Envs deleted
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- GET /1.0/apps/{app}/quota
Shows app usage info and its quota limit.
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
404 Not Found – App not found
- Response JSON Object:
inuse (integer)
limit (integer)
- PUT /1.0/apps/{app}/quota
Changes the maximum limit of units allowed for use.
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – Quota updated
401 Unauthorized – Unauthorized
403 Forbidden – Limit lower than allocated
404 Not Found – App not found
- POST /1.0/apps/{app}/start
Start App.
- Parameters:
app (string) – App name.
- Request JSON Object:
process (string)
version (string)
- Status Codes:
200 OK – App started
401 Unauthorized – Unauthorized
404 Not Found – App not found
- POST /1.0/apps/{app}/stop
Stop App.
- Parameters:
app (string) – App name.
- Request JSON Object:
process (string)
version (string)
- Status Codes:
200 OK – App stopped
401 Unauthorized – Unauthorized
404 Not Found – App not found
- POST /1.0/apps/{app}/restart
Restart App.
- Parameters:
app (string) – App name.
- Request JSON Object:
process (string)
version (string)
- Status Codes:
200 OK – App restarted
401 Unauthorized – Unauthorized
404 Not Found – App not found
- POST /1.8/apps/{app}/routable
Sets a version as routable.
- Parameters:
app (string) – App name.
- Request JSON Object:
isRoutable (boolean)
version (string)
- Status Codes:
200 OK – App updated
400 Bad Request – Invalid arguments
401 Unauthorized – Unauthorized
404 Not Found – App not found
- GET /1.5/apps/{app}/routers
list routers from an app
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – Routers list
204 No Content – No content
401 Unauthorized – Unauthorized
404 Not Found – App not found
- Response JSON Object:
[].address (string)
[].addresses[] (string)
[].name (string)
[].opts (object)
[].status (string)
[].status-detail (string)
[].type (string)
- POST /1.5/apps/{app}/routers
adds a router to app
- Parameters:
app (string) – App name.
- Request JSON Object:
address (string)
addresses[] (string)
name (string)
opts (object)
status (string)
status-detail (string)
type (string)
- Status Codes:
200 OK – Router added
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- PUT /1.5/apps/{app}/routers/{router}
update a router
- Parameters:
app (string) – App name.
router (string) – Router name
- Request JSON Object:
address (string)
addresses[] (string)
name (string)
opts (object)
status (string)
status-detail (string)
type (string)
- Status Codes:
200 OK – Router updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- DELETE /1.5/apps/{app}/routers/{router}
Delete a tsuru app.
- Parameters:
app (string) – App name.
router (string) – Router name
- Status Codes:
200 OK – App removed.
401 Unauthorized – Unauthorized.
404 Not Found – App not found.
- PUT /1.0/apps/{app}/teams/{team}
grant access to a team
- Parameters:
app (string) – App name.
team (string) – Team name
- Status Codes:
200 OK – Access granted
401 Unauthorized – Unauthorized
404 Not Found – App or team not found
409 Conflict – Grant already exists
- DELETE /1.0/apps/{app}/teams/{team}
grant access to a team
- Parameters:
app (string) – App name.
team (string) – Team name
- Status Codes:
200 OK – Access revoked
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – App or team not found
- PUT /1.0/apps/{app}/units
Add units to app
- Parameters:
app (string) – App name.
- Request JSON Object:
process (string)
units (string)
version (string)
- Status Codes:
200 OK – Access revoked
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – App or team not found
- DELETE /1.0/apps/{app}/units
Remove units from app
- Parameters:
app (string) – App name.
- Request JSON Object:
process (string)
units (string)
version (string)
- Status Codes:
200 OK – Access revoked
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – App or team not found
- GET /1.9/apps/{app}/units/autoscale
List autoscales for app.
- Parameters:
app (string) – App name.
- Status Codes:
200 OK – AutoScale info
401 Unauthorized – Unauthorized
403 Forbidden – Unauthorized
404 Not Found – App not found
- Response JSON Object:
[].averageCPU (string)
[].maxUnits (integer)
[].minUnits (integer)
[].process (string)
[].prometheus[].activationThreshold (number)
[].prometheus[].name (string)
[].prometheus[].prometheusAddress (string)
[].prometheus[].query (string)
[].prometheus[].threshold (number)
[].schedules[].end (string)
[].schedules[].minReplicas (integer)
[].schedules[].name (string)
[].schedules[].start (string)
[].schedules[].timezone (string)
[].version (integer)
- POST /1.9/apps/{app}/units/autoscale
Add new unit autoscale spec.
- Parameters:
app (string) – App name.
- Request JSON Object:
averageCPU (string)
maxUnits (integer)
minUnits (integer)
process (string)
prometheus[].activationThreshold (number)
prometheus[].name (string)
prometheus[].prometheusAddress (string)
prometheus[].query (string)
prometheus[].threshold (number)
schedules[].end (string)
schedules[].minReplicas (integer)
schedules[].name (string)
schedules[].start (string)
schedules[].timezone (string)
version (integer)
- Status Codes:
200 OK – AutoScale updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – App not found
- DELETE /1.9/apps/{app}/units/autoscale
Remove unit autoscale spec.
- Parameters:
app (string) – App name.
- Query Parameters:
process (string)
- Status Codes:
200 OK – AutoScale removed
401 Unauthorized – Unauthorized
404 Not Found – App not found
- DELETE /1.0/platforms/{platform}
Delete platform.
- Parameters:
platform (string) – Platform name.
- Status Codes:
200 OK – Platform removed
401 Unauthorized – Unauthorized
404 Not Found – Not found
- PUT /1.0/platforms/{platform}
Update platform.
- Parameters:
platform (string) – Platform name.
- Status Codes:
200 OK – Platform updated
401 Unauthorized – Unauthorized
404 Not Found – Not found
- GET /1.0/platforms
List platforms.
- Status Codes:
200 OK – Platform list
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].disabled (boolean)
[].name (string)
- POST /1.0/platforms
Add new platform.
- Status Codes:
200 OK – Platform created
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
- GET /1.6/platforms/{platform}
Platform info.
- Parameters:
platform (string) – Platform info.
- Status Codes:
200 OK – Platform info
401 Unauthorized – Unauthorized
404 Not Found – Not found
- Response JSON Object:
images[] (string)
platform.disabled (boolean)
platform.name (string)
- POST /1.6/platforms/{platform}/rollback
Platform rollback.
- Parameters:
platform (string) – Platform name.
- Query Parameters:
image (string)
- Status Codes:
200 OK – Ok
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Not found
- GET /1.0/teams
List teams.
- Status Codes:
200 OK – Team list.
204 No Content – No content.
401 Unauthorized – Unauthorized
- Response JSON Object:
[].name (string)
[].permissions[] (string)
[].tags[] (string)
- POST /1.0/teams
Create a team.
- Request JSON Object:
name (string)
tags[] (string)
- Status Codes:
201 Created – Team created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
409 Conflict – Team already exists
- DELETE /1.0/teams/{team}
Delete a team.
- Parameters:
team (string) – Team name.
- Status Codes:
200 OK – Team removed.
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Team not found
- GET /1.4/teams/{team}
Get a team.
- Parameters:
team (string) – Team name.
- Status Codes:
200 OK – Team data
401 Unauthorized – Unauthorized
404 Not Found – Team not found
- Response JSON Object:
apps[].autoscaleRecommendation[].process (string)
apps[].autoscaleRecommendation[].recommendations[].cpu (string)
apps[].autoscaleRecommendation[].recommendations[].memory (string)
apps[].autoscaleRecommendation[].recommendations[].type (string)
apps[].autoscale[].averageCPU (string)
apps[].autoscale[].maxUnits (integer)
apps[].autoscale[].minUnits (integer)
apps[].autoscale[].process (string)
apps[].autoscale[].prometheus[].activationThreshold (number)
apps[].autoscale[].prometheus[].name (string)
apps[].autoscale[].prometheus[].prometheusAddress (string)
apps[].autoscale[].prometheus[].query (string)
apps[].autoscale[].prometheus[].threshold (number)
apps[].autoscale[].schedules[].end (string)
apps[].autoscale[].schedules[].minReplicas (integer)
apps[].autoscale[].schedules[].name (string)
apps[].autoscale[].schedules[].start (string)
apps[].autoscale[].schedules[].timezone (string)
apps[].autoscale[].version (integer)
apps[].cluster (string) – Cluster name
apps[].cname[] (string)
apps[].deploys (integer) – Number of Deploys
apps[].description (string) – App description.
apps[].error (string) – Errors during AppGet
apps[].internalAddresses[].Domain (string)
apps[].internalAddresses[].Port (integer)
apps[].internalAddresses[].Process (string)
apps[].internalAddresses[].Protocol (string)
apps[].internalAddresses[].Version (string)
apps[].ip (string)
apps[].lock.acquireDate (string)
apps[].lock.locked (boolean)
apps[].lock.owner (string)
apps[].lock.reason (string)
apps[].metadata.annotations[].delete (boolean)
apps[].metadata.annotations[].name (string)
apps[].metadata.annotations[].value (string)
apps[].metadata.labels[].delete (boolean)
apps[].metadata.labels[].name (string)
apps[].metadata.labels[].value (string)
apps[].name (string) – App name. (required)
apps[].owner (string)
apps[].plan.cpuBurst.default (number)
apps[].plan.cpuBurst.maxAllowed (number)
apps[].plan.cpumilli (integer)
apps[].plan.default (boolean)
apps[].plan.memory (integer)
apps[].plan.name (string)
apps[].plan.override.cpuBurst (number)
apps[].plan.override.cpumilli (integer)
apps[].plan.override.memory (integer)
apps[].platform (string) – App platform.
apps[].pool (string) – App pool.
apps[].processes[].metadata.annotations[].delete (boolean)
apps[].processes[].metadata.annotations[].name (string)
apps[].processes[].metadata.annotations[].value (string)
apps[].processes[].metadata.labels[].delete (boolean)
apps[].processes[].metadata.labels[].name (string)
apps[].processes[].metadata.labels[].value (string)
apps[].processes[].name (string)
apps[].processes[].plan (string)
apps[].provisioner (string) – App provisioner.
apps[].quota.inuse (integer)
apps[].quota.limit (integer)
apps[].router (string) – App router.
apps[].routeropts (object) – Custom router options.
apps[].routers[].addresses[] (string)
apps[].routers[].name (string)
apps[].routers[].opts (object)
apps[].serviceInstanceBinds[].instance (string)
apps[].serviceInstanceBinds[].plan (string)
apps[].serviceInstanceBinds[].service (string)
apps[].tags[] (string)
apps[].teamOwner (string) – Team that owns the app.
apps[].teams[] (string)
apps[].unitsMetrics[].cpu (string)
apps[].unitsMetrics[].id (string)
apps[].unitsMetrics[].memory (string)
apps[].units[].address.host (string)
apps[].units[].address.scheme (string)
apps[].units[].appname (string)
apps[].units[].createdAt (string)
apps[].units[].id (string)
apps[].units[].ip (string)
apps[].units[].name (string)
apps[].units[].processname (string)
apps[].units[].ready (boolean)
apps[].units[].restarts (integer)
apps[].units[].routable (boolean)
apps[].units[].status (string)
apps[].units[].type (string)
apps[].units[].version (integer)
apps[].volumeBinds[].ID.App (string)
apps[].volumeBinds[].ID.MountPoint (string)
apps[].volumeBinds[].ID.Volume (string)
apps[].volumeBinds[].ReadOnly (boolean)
name (string)
pools[].allowed (object)
pools[].default (boolean)
pools[].labels (object)
pools[].name (string)
pools[].provisioner (string)
pools[].public (boolean)
pools[].teams[] (string)
tags[] (string)
users[].email (string)
users[].groups[] (string)
users[].permissions[].contexttype (string)
users[].permissions[].contextvalue (string)
users[].permissions[].group (string)
users[].permissions[].name (string)
users[].roles[].contexttype (string)
users[].roles[].contextvalue (string)
users[].roles[].group (string)
users[].roles[].name (string)
- GET /1.17/teams/{team}/users
Get users of a team
- Parameters:
team (string) – Team name.
- Status Codes:
200 OK – User list
401 Unauthorized – Unauthorized
404 Not Found – Team not found
- Response JSON Object:
[].email (string)
[].roles[] (string)
- GET /1.17/teams/{team}/groups
Get groups of a team
- Parameters:
team (string) – Team name.
- Status Codes:
200 OK – Group list
401 Unauthorized – Unauthorized
404 Not Found – Team not found
- Response JSON Object:
[].group (string)
[].roles[] (string)
- PUT /1.6/teams/{team}
Update a team.
- Parameters:
team (string) – Team name.
- Request JSON Object:
newname (string)
tags[] (string)
- Status Codes:
200 OK – Team updated
400 Bad Request – Unauthorized
401 Unauthorized – Invalid data
404 Not Found – Team not found
- GET /1.12/teams/{team}/quota
Get quota of a team.
- Parameters:
team (string) – Team name.
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
404 Not Found – Team not found
- Response JSON Object:
inuse (integer)
limit (integer)
- PUT /1.12/teams/{team}/quota
Changes the team’s apps limit.
- Parameters:
team (string) – Team name.
- Status Codes:
200 OK – Quota updated
401 Unauthorized – Unauthorized
403 Forbidden – Limit lower than allocated
404 Not Found – Team not found
- GET /1.0/users
List users.
- Query Parameters:
userEmail (string)
role (string)
context (string)
- Status Codes:
200 OK – List users.
401 Unauthorized – Unauthorized
- Response JSON Object:
[].email (string)
[].groups[] (string)
[].permissions[].contexttype (string)
[].permissions[].contextvalue (string)
[].permissions[].group (string)
[].permissions[].name (string)
[].roles[].contexttype (string)
[].roles[].contextvalue (string)
[].roles[].group (string)
[].roles[].name (string)
- POST /1.0/users
Create a new user.
- Request JSON Object:
email (string)
password (string)
- Status Codes:
201 Created – User created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
409 Conflict – User already exists
- DELETE /1.0/users
Delete an user.
- Query Parameters:
email (string) – User e-mail.
- Status Codes:
200 OK – User removed
401 Unauthorized – Unauthorized
404 Not Found – Not found
- GET /1.0/users/api-key
Show the API token of an user.
- Query Parameters:
email (string)
- Status Codes:
200 OK – API TOKEN
401 Unauthorized – Unauthorized
404 Not Found – User not found
- POST /1.0/users/api-key
Regenerate the API Token of an user.
- Query Parameters:
email (string)
- Status Codes:
200 OK – API TOKEN
401 Unauthorized – Unauthorized
404 Not Found – User not found
- GET /1.0/users/info
Get information on logged user.
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
- Response JSON Object:
email (string)
groups[] (string)
permissions[].contexttype (string)
permissions[].contextvalue (string)
permissions[].group (string)
permissions[].name (string)
roles[].contexttype (string)
roles[].contextvalue (string)
roles[].group (string)
roles[].name (string)
- GET /1.0/users/{email}/quota
Get quota of an user.
- Parameters:
email (string) – User e-mail.
- Status Codes:
200 OK – OK
401 Unauthorized – Unauthorized
404 Not Found – User not found
- Response JSON Object:
inuse (integer)
limit (integer)
- PUT /1.0/users/{email}/quota
Change quota of an user.
- Parameters:
email (string) – User e-mail.
- Query Parameters:
limit (integer) – User new quota.
- Status Codes:
200 OK – Quota successfully updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – User not found
- PUT /1.0/users/password
Change password of logged user.
- Request JSON Object:
confirm (string)
new (string)
old (string)
- Status Codes:
200 OK – Ok
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Not found
- POST /1.0/users/{email}/password
Reset password of an user.
- Parameters:
email (string)
- Status Codes:
200 OK – Ok
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Forbidden
404 Not Found – Not found
- GET /1.4/volumes
List volumes.
- Status Codes:
200 OK – List volumes
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].binds[].id.app (string) – App the volume is bound to.
[].binds[].id.mountpoint (string) – Volume mountpoint.
[].binds[].id.volume (string) – Volume name.
[].binds[].readonly (boolean) – Volume is read-only.
[].name (string) – Volume name.
[].opts (object) – Custom volume options.
[].plan.name (string) – Volume plan name.
[].plan.opts (object) – Volume plan opts.
[].pool (string) – Volume pool.
[].status (string) – Volume status.
[].teamOwner (string) – Team that owns the volume.
- POST /1.4/volumes
Create volume.
- Request JSON Object:
binds[].id.app (string) – App the volume is bound to.
binds[].id.mountpoint (string) – Volume mountpoint.
binds[].id.volume (string) – Volume name.
binds[].readonly (boolean) – Volume is read-only.
name (string) – Volume name.
opts (object) – Custom volume options.
plan.name (string) – Volume plan name.
plan.opts (object) – Volume plan opts.
pool (string) – Volume pool.
status (string) – Volume status.
teamOwner (string) – Team that owns the volume.
- Status Codes:
201 Created – Volume created
401 Unauthorized – Unauthorized
409 Conflict – Volume already exists
- GET /1.0/pools
List pools.
- Status Codes:
200 OK – Pools list
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].allowed (object)
[].default (boolean)
[].labels (object)
[].name (string)
[].provisioner (string)
[].public (boolean)
[].teams[] (string)
- POST /1.0/pools
Creates a pool.
- Request JSON Object:
default (boolean)
force (boolean)
labels (object)
name (string)
provisioner (string)
public (boolean)
- Status Codes:
201 Created – Pool created
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
409 Conflict – Pool already exists
- GET /pools/{pool}
Get pool information
- Parameters:
pool (string)
- Status Codes:
200 OK – Pool data
401 Unauthorized – Unauthorized
404 Not Found – Pool not found
- Response JSON Object:
allowed (object)
default (boolean)
labels (object)
name (string)
provisioner (string)
public (boolean)
teams[] (string)
- DELETE /pools/{pool}
Deletes a pool.
- Parameters:
pool (string)
- Status Codes:
200 OK – Pool deleted
401 Unauthorized – Unauthorized
403 Forbidden – Pool still has apps
404 Not Found – Pool not found
- PUT /pools/{pool}
Updates a pool.
- Parameters:
pool (string)
- Request JSON Object:
default (boolean)
force (boolean)
labels (object)
public (boolean)
- Status Codes:
200 OK – Pool updated
401 Unauthorized – Unauthorized
404 Not Found – Pool not found
409 Conflict – Default pool already defined
- GET /1.3/provisioner/clusters
List cluster
- Status Codes:
200 OK – Cluster
401 Unauthorized – Unauthorized
404 Not Found – Cluster not found
- Response JSON Object:
[].addresses[] (string)
[].cacert (string)
[].clientcert (string)
[].clientkey (string)
[].custom_data (object)
[].default (boolean)
[].httpProxy (string)
[].kubeConfig.cluster.certificate-authority-data (string)
[].kubeConfig.cluster.insecure-skip-tls-verify (boolean)
[].kubeConfig.cluster.server (string) – (required)
[].kubeConfig.cluster.tls-server-name (string)
[].kubeConfig.user.auth-provider.config (object)
[].kubeConfig.user.auth-provider.name (string)
[].kubeConfig.user.client-certificate-data (string)
[].kubeConfig.user.client-key-data (string)
[].kubeConfig.user.exec.apiVersion (string)
[].kubeConfig.user.exec.args[] (string)
[].kubeConfig.user.exec.command (string)
[].kubeConfig.user.exec.env[].name (string)
[].kubeConfig.user.exec.env[].value (string)
[].kubeConfig.user.exec.interactiveMode (string)
[].kubeConfig.user.password (string)
[].kubeConfig.user.token (string)
[].kubeConfig.user.username (string)
[].local (boolean)
[].name (string)
[].pools[] (string)
[].provisioner (string)
- POST /1.3/provisioner/clusters
Create cluster.
- Request JSON Object:
addresses[] (string)
cacert (string)
clientcert (string)
clientkey (string)
custom_data (object)
default (boolean)
httpProxy (string)
kubeConfig.cluster.certificate-authority-data (string)
kubeConfig.cluster.insecure-skip-tls-verify (boolean)
kubeConfig.cluster.server (string) – (required)
kubeConfig.cluster.tls-server-name (string)
kubeConfig.user.auth-provider.config (object)
kubeConfig.user.auth-provider.name (string)
kubeConfig.user.client-certificate-data (string)
kubeConfig.user.client-key-data (string)
kubeConfig.user.exec.apiVersion (string)
kubeConfig.user.exec.args[] (string)
kubeConfig.user.exec.command (string)
kubeConfig.user.exec.env[].name (string)
kubeConfig.user.exec.env[].value (string)
kubeConfig.user.exec.interactiveMode (string)
kubeConfig.user.password (string)
kubeConfig.user.token (string)
kubeConfig.user.username (string)
local (boolean)
name (string)
pools[] (string)
provisioner (string)
- Status Codes:
200 OK – Cluster created
401 Unauthorized – Unauthorized
404 Not Found – Cluster not found
- DELETE /1.3/provisioner/clusters/{cluster_name}
Delete cluster.
- Parameters:
cluster_name (string) – Cluster name.
- Status Codes:
200 OK – Cluster deleted
401 Unauthorized – Unauthorized
404 Not Found – Cluster not found
- POST /1.4/provisioner/clusters/{cluster_name}
Update cluster.
- Parameters:
cluster_name (string) – Cluster name.
- Request JSON Object:
addresses[] (string)
cacert (string)
clientcert (string)
clientkey (string)
custom_data (object)
default (boolean)
httpProxy (string)
kubeConfig.cluster.certificate-authority-data (string)
kubeConfig.cluster.insecure-skip-tls-verify (boolean)
kubeConfig.cluster.server (string) – (required)
kubeConfig.cluster.tls-server-name (string)
kubeConfig.user.auth-provider.config (object)
kubeConfig.user.auth-provider.name (string)
kubeConfig.user.client-certificate-data (string)
kubeConfig.user.client-key-data (string)
kubeConfig.user.exec.apiVersion (string)
kubeConfig.user.exec.args[] (string)
kubeConfig.user.exec.command (string)
kubeConfig.user.exec.env[].name (string)
kubeConfig.user.exec.env[].value (string)
kubeConfig.user.exec.interactiveMode (string)
kubeConfig.user.password (string)
kubeConfig.user.token (string)
kubeConfig.user.username (string)
local (boolean)
name (string)
pools[] (string)
provisioner (string)
- Status Codes:
200 OK – Cluster updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Cluster not found
- GET /1.8/provisioner/clusters/{cluster_name}
Cluster info
- Parameters:
cluster_name (string) – Cluster name.
- Status Codes:
200 OK – Cluster
401 Unauthorized – Unauthorized
404 Not Found – Cluster not found
- Response JSON Object:
addresses[] (string)
cacert (string)
clientcert (string)
clientkey (string)
custom_data (object)
default (boolean)
httpProxy (string)
kubeConfig.cluster.certificate-authority-data (string)
kubeConfig.cluster.insecure-skip-tls-verify (boolean)
kubeConfig.cluster.server (string) – (required)
kubeConfig.cluster.tls-server-name (string)
kubeConfig.user.auth-provider.config (object)
kubeConfig.user.auth-provider.name (string)
kubeConfig.user.client-certificate-data (string)
kubeConfig.user.client-key-data (string)
kubeConfig.user.exec.apiVersion (string)
kubeConfig.user.exec.args[] (string)
kubeConfig.user.exec.command (string)
kubeConfig.user.exec.env[].name (string)
kubeConfig.user.exec.env[].value (string)
kubeConfig.user.exec.interactiveMode (string)
kubeConfig.user.password (string)
kubeConfig.user.token (string)
kubeConfig.user.username (string)
local (boolean)
name (string)
pools[] (string)
provisioner (string)
- DELETE /1.4/volumes/{volume}
Delete volume.
- Parameters:
volume (string) – Volume name.
- Status Codes:
200 OK – Volume deleted
401 Unauthorized – Unauthorized
404 Not Found – Volume not found
- PUT /1.4/volumes/{volume}
Update volume.
- Parameters:
volume (string) – Volume name.
- Request JSON Object:
name (string) – Volume name.
opts (object) – Custom volume options.
plan.name (string) – Volume plan name.
plan.opts (object) – Volume plan opts.
pool (string) – Volume pool.
status (string) – Volume status.
teamOwner (string) – Team that owns the volume.
- Status Codes:
200 OK – Volume updated
401 Unauthorized – Unauthorized
404 Not Found – Volume not found
- GET /1.4/volumes/{volume}
Get a volume.
- Parameters:
volume (string) – Volume name.
- Status Codes:
200 OK – Volume
401 Unauthorized – Unauthorized
409 Conflict – Volume already exists
- Response JSON Object:
binds[].id.app (string) – App the volume is bound to.
binds[].id.mountpoint (string) – Volume mountpoint.
binds[].id.volume (string) – Volume name.
binds[].readonly (boolean) – Volume is read-only.
name (string) – Volume name.
opts (object) – Custom volume options.
plan.name (string) – Volume plan name.
plan.opts (object) – Volume plan opts.
pool (string) – Volume pool.
status (string) – Volume status.
teamOwner (string) – Team that owns the volume.
- POST /1.4/volumes/{volume}/bind
Bind volume.
- Parameters:
volume (string) – Volume name.
- Request JSON Object:
app (string)
mountpoint (string)
norestart (boolean)
readonly (boolean)
- Status Codes:
200 OK – Volume bind
401 Unauthorized – Unauthorized
404 Not Found – Volume not found
409 Conflict – Volume bind already exists
- DELETE /1.4/volumes/{volume}/bind
Unbind volume.
- Parameters:
volume (string) – Volume name.
- Request JSON Object:
app (string)
mountpoint (string)
norestart (boolean)
readonly (boolean)
- Status Codes:
200 OK – Volume unbinded
401 Unauthorized – Unauthorized
404 Not Found – Volume not found
- GET /1.4/volumeplans
List volume plans.
- Status Codes:
200 OK – Volume plans list
401 Unauthorized – Unauthorized
- POST /1.0/roles
create a role
- Request JSON Object:
contexttype (string)
description (string)
name (string)
- Status Codes:
201 Created – Role created
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
409 Conflict – Role already exists
- PUT /1.0/roles
update a role
- Request JSON Object:
contextType (string)
description (string)
name (string)
newName (string)
- Status Codes:
201 Created – Role updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
- DELETE /1.0/roles/{role_name}
delete a role
- Parameters:
role_name (string)
- Status Codes:
200 OK – Role deleted.
401 Unauthorized – Unauthorized.
404 Not Found – Role not found
- POST /1.0/roles/{role_name}/permissions
add a permission
- Parameters:
role_name (string)
- Request JSON Object:
name (string)
permission[] (string)
- Status Codes:
200 OK – Permission created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
409 Conflict – Permission not a allowed
- DELETE /1.0/roles{role_name}/permissions/{permission}
remove a permission
- Parameters:
role_name (string)
permission (string)
- Status Codes:
200 OK – Permission removed.
401 Unauthorized – Unauthorized.
404 Not Found – Not found
- POST /1,0/roles/{role_name}/user
assign a role
- Parameters:
role_name (string)
- Request JSON Object:
contextvalue (string)
name (string)
roletarget (string)
sufix (string)
version (string)
- Status Codes:
200 OK – Role assigned.
400 Bad Request – Invalid data.
401 Unauthorized – Unauthorized.
404 Not Found – Role not found
- DELETE /1.0/roles/{role_name}/user/{email}
Dissociate a role from user
- Parameters:
role_name (string)
email (string)
- Status Codes:
200 OK – Role dissociated.
400 Bad Request – Invalid data.
401 Unauthorized – Unauthorized.
404 Not Found – Role or token not found
- POST /1.0/role/default
add a default role
- Request JSON Object:
rolesmap (object)
- Status Codes:
200 OK – Default role created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
- DELETE /1.0/role/default
Delete a Default role
- Status Codes:
200 OK – Default role deleted.
400 Bad Request – Invalid data.
401 Unauthorized – Unauthorized.
- POST /1.6/roles/{role_name}/token
Assigns a role to a team token.
- Parameters:
role_name (string)
- Request JSON Object:
context (string)
token_id (string)
- Status Codes:
200 OK – Role assigned.
401 Unauthorized – Unauthorized.
404 Not Found – Role or token not found
- DELETE /1.6/roles/{role_name}/token/{token_id}
Dissociates a role from a team token.
- Parameters:
role_name (string)
token_id (string)
- Query Parameters:
context (string)
- Status Codes:
200 OK – Role dissociated.
401 Unauthorized – Unauthorized.
404 Not Found – Role or token not found
- GET /1.6/tokens
List team tokens.
- Status Codes:
200 OK – Team tokens list.
204 No Content – No content.
401 Unauthorized – Unauthorized.
- Response JSON Object:
[].created_at (string)
[].creator_email (string)
[].description (string)
[].expires_at (string)
[].last_access (string)
[].roles[].contextvalue (string)
[].roles[].name (string)
[].team (string)
[].token (string)
[].token_id (string)
- POST /1.6/tokens
Creates a team token.
- Request JSON Object:
description (string)
expires_in (integer) – Expire time in seconds.
team (string)
token_id (string)
- Status Codes:
201 Created – Team token created.
401 Unauthorized – Unauthorized.
409 Conflict – Token with the same ID already exists.
- Response JSON Object:
created_at (string)
creator_email (string)
description (string)
expires_at (string)
last_access (string)
roles[].contextvalue (string)
roles[].name (string)
team (string)
token (string)
token_id (string)
- DELETE /1.6/tokens/{token_id}
Deletes a team token.
- Parameters:
token_id (string) – Token ID.
- Status Codes:
200 OK – Team token deleted.
401 Unauthorized – Unauthorized.
404 Not Found – Team token not found.
- PUT /1.6/tokens/{token_id}
Updates a team token.
- Parameters:
token_id (string) – Token ID.
- Status Codes:
200 OK – Team token updated.
401 Unauthorized – Unauthorized.
404 Not Found – Team token not found.
- Response JSON Object:
created_at (string)
creator_email (string)
description (string)
expires_at (string)
last_access (string)
roles[].contextvalue (string)
roles[].name (string)
team (string)
token (string)
token_id (string)
- GET /1.7/tokens/{token_id}
Shows information about a specific token.
- Parameters:
token_id (string) – Token ID.
- Status Codes:
200 OK – Team token info.
401 Unauthorized – Unauthorized.
404 Not Found – Team token not found.
- Response JSON Object:
created_at (string)
creator_email (string)
description (string)
expires_at (string)
last_access (string)
roles[].contextvalue (string)
roles[].name (string)
team (string)
token (string)
token_id (string)
- GET /1.1/events/{eventid}
- Parameters:
eventid (string)
- Status Codes:
200 OK – Event info.
401 Unauthorized – Unauthorized.
404 Not Found – Team token not found.
- Response JSON Object:
EndCustomData.Data (string)
EndCustomData.Kind (number)
EndTime (string)
Error (string)
Log (string)
OtherCustomData.Data (string)
OtherCustomData.Kind (number)
Running (boolean)
StartCustomData.Data (string)
StartCustomData.Kind (number)
StartTime (string)
Target.Type (string)
Target.Value (string)
UniqueID (string)
- POST /1.1/events/{eventid}/cancel
- Parameters:
eventid (string)
- Request JSON Object:
reason (string)
- Status Codes:
204 No Content – Event cancellation requested.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
404 Not Found – Event not found
- GET /1.6/events/webhooks
- Status Codes:
200 OK – Webhooks list.
204 No Content – No content.
- Response JSON Object:
[].body (string)
[].description (string)
[].event_filter.error_only (boolean)
[].event_filter.kind_names[] (string)
[].event_filter.kind_types[] (string)
[].event_filter.success_only (boolean)
[].event_filter.target_types[] (string)
[].event_filter.target_values[] (string)
[].headers (object)
[].insecure (boolean)
[].method (string)
[].name (string)
[].proxy_url (string)
[].team_owner (string)
[].url (string)
- POST /1.6/events/webhooks
- Request JSON Object:
body (string)
description (string)
event_filter.error_only (boolean)
event_filter.kind_names[] (string)
event_filter.kind_types[] (string)
event_filter.success_only (boolean)
event_filter.target_types[] (string)
event_filter.target_values[] (string)
headers (object)
insecure (boolean)
method (string)
name (string)
proxy_url (string)
team_owner (string)
url (string)
- Status Codes:
200 OK – Webhook created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
409 Conflict – Webhook already exists.
- GET /1.6/events/webhooks/{name}
- Parameters:
name (string) – Webhook name.
- Status Codes:
200 OK – Webhook.
401 Unauthorized – Unauthorized.
404 Not Found – Not founds.
- Response JSON Object:
body (string)
description (string)
event_filter.error_only (boolean)
event_filter.kind_names[] (string)
event_filter.kind_types[] (string)
event_filter.success_only (boolean)
event_filter.target_types[] (string)
event_filter.target_values[] (string)
headers (object)
insecure (boolean)
method (string)
name (string)
proxy_url (string)
team_owner (string)
url (string)
- PUT /1.6/events/webhooks/{name}
- Parameters:
name (string) – Webhook name.
- Request JSON Object:
body (string)
description (string)
event_filter.error_only (boolean)
event_filter.kind_names[] (string)
event_filter.kind_types[] (string)
event_filter.success_only (boolean)
event_filter.target_types[] (string)
event_filter.target_values[] (string)
headers (object)
insecure (boolean)
method (string)
name (string)
proxy_url (string)
team_owner (string)
url (string)
- Status Codes:
200 OK – Webhook updated.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
404 Not Found – Webhook not found.
- DELETE /1.6/events/webhooks/{name}
- Parameters:
name (string) – Webhook name.
- Status Codes:
200 OK – Webhook created.
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized.
404 Not Found – Webhook not found.
- GET /1.7/provisioner
List provisioners
- Status Codes:
200 OK – Provisioner
401 Unauthorized – Unauthorized
- Response JSON Object:
[].cluster_help.create_data_help (object)
[].cluster_help.custom_data_help (object)
[].cluster_help.provisioner_help (string)
[].name (string)
- GET /1.3/constraints
List pool constraints
- Status Codes:
200 OK – PoolConstraints
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].Blacklist (boolean)
[].Field (string)
[].PoolExpr (string)
[].Values[] (string)
- PUT /1.3/constraints
Update a service instance
- Request JSON Object:
Blacklist (boolean)
Field (string)
PoolExpr (string)
Values[] (string)
append (boolean)
- Status Codes:
200 OK – Pool constraint set
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
- GET /1.3/routers
List available routers
- Status Codes:
200 OK – Routers
204 No Content – No content
401 Unauthorized – Unauthorized
- Response JSON Object:
[].config (object)
[].default (boolean)
[].dynamic (boolean)
[].info (object)
[].name (string)
[].readinessGates[] (string)
[].type (string)
- POST /1.8/routers
Adds a new dynamic router
- Request JSON Object:
config (object)
name (string)
readinessGates[] (string)
type (string)
- Status Codes:
201 Created – Dynamic router added
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
- PUT /1.8/routers/{name}
Updates a dynamic router
- Parameters:
name (string) – Dynamic router name.
- Request JSON Object:
config (object)
name (string)
readinessGates[] (string)
type (string)
- Status Codes:
200 OK – Dynamic router updated
401 Unauthorized – Unauthorized.
404 Not Found – Dynamic router not found
- DELETE /1.8/routers/{name}
Deletes a dynamic router
- Parameters:
name (string) – Dynamic router name.
- Status Codes:
200 OK – Dynamic router deleted
401 Unauthorized – Unauthorized.
404 Not Found – Dynamic router not found
- POST /1.9/roles/{role_name}/group
Assigns a role to a group.
- Parameters:
role_name (string)
- Request JSON Object:
context (string)
group_name (string)
- Status Codes:
200 OK – Role assigned.
401 Unauthorized – Unauthorized.
404 Not Found – Role not found
- DELETE /1.6/roles/{role_name}/group/{group_name}
Dissociates a role from a group.
- Parameters:
role_name (string)
group_name (string)
- Query Parameters:
context (string)
- Status Codes:
200 OK – Role dissociated.
401 Unauthorized – Unauthorized.
404 Not Found – Role not found
- POST /1.13/jobs
Create a job that runs periodically
- Request JSON Object:
activeDeadlineSeconds (integer) – job active deadline seconds.
concurrencyPolicy (string) – concurrency policy.
container.command[] (string)
container.envs[].alias (string)
container.envs[].managedBy (string)
container.envs[].name (string)
container.envs[].public (boolean)
container.envs[].value (string)
container.image (string)
description (string) – job description.
manual (boolean) – create a manual job.
metadata.annotations[].delete (boolean)
metadata.annotations[].name (string)
metadata.annotations[].value (string)
metadata.labels[].delete (boolean)
metadata.labels[].name (string)
metadata.labels[].value (string)
name (string) – Job name. (required)
plan (string) – job plan name.
pool (string) – job pool name.
schedule (string) – how often this job will run.
tags[] (string)
teamOwner (string) – Team that owns the job.
- Status Codes:
201 Created – Job created
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Quota exceeded
409 Conflict – App already exists
- GET /1.13/jobs
List jobs that runs periodically
- Status Codes:
200 OK – JobList.
401 Unauthorized – Unauthorized.
404 Not Found – Not founds.
- Response JSON Object:
[].description (string) – job description.
[].metadata.annotations[].delete (boolean)
[].metadata.annotations[].name (string)
[].metadata.annotations[].value (string)
[].metadata.labels[].delete (boolean)
[].metadata.labels[].name (string)
[].metadata.labels[].value (string)
[].name (string) – Job name.
[].owner (string) – who created this job.
[].plan.cpuBurst.default (number)
[].plan.cpuBurst.maxAllowed (number)
[].plan.cpumilli (integer)
[].plan.default (boolean)
[].plan.memory (integer)
[].plan.name (string)
[].plan.override.cpuBurst (number)
[].plan.override.cpumilli (integer)
[].plan.override.memory (integer)
[].pool (string) – job pool name.
[].spec.activeDeadlineSeconds (integer) – job active deadline seconds.
[].spec.concurrencyPolicy (string) – concurrency policy.
[].spec.container.command[] (string)
[].spec.container.envs[].alias (string)
[].spec.container.envs[].managedBy (string)
[].spec.container.envs[].name (string)
[].spec.container.envs[].public (boolean)
[].spec.container.envs[].value (string)
[].spec.container.image (string)
[].spec.manual (boolean)
[].spec.schedule (string)
[].teamOwner (string) – Team that owns the job.
[].teams[] (string)
- GET /1.13/jobs/{name}
Get a job that runs periodically
- Parameters:
name (string) – Name of job
- Status Codes:
200 OK – JobInfo.
401 Unauthorized – Unauthorized.
404 Not Found – Not founds.
- Response JSON Object:
job.description (string) – job description.
job.metadata.annotations[].delete (boolean)
job.metadata.annotations[].name (string)
job.metadata.annotations[].value (string)
job.metadata.labels[].delete (boolean)
job.metadata.labels[].name (string)
job.metadata.labels[].value (string)
job.name (string) – Job name.
job.owner (string) – who created this job.
job.plan.cpuBurst.default (number)
job.plan.cpuBurst.maxAllowed (number)
job.plan.cpumilli (integer)
job.plan.default (boolean)
job.plan.memory (integer)
job.plan.name (string)
job.plan.override.cpuBurst (number)
job.plan.override.cpumilli (integer)
job.plan.override.memory (integer)
job.pool (string) – job pool name.
job.spec.activeDeadlineSeconds (integer) – job active deadline seconds.
job.spec.concurrencyPolicy (string) – concurrency policy.
job.spec.container.command[] (string)
job.spec.container.envs[].alias (string)
job.spec.container.envs[].managedBy (string)
job.spec.container.envs[].name (string)
job.spec.container.envs[].public (boolean)
job.spec.container.envs[].value (string)
job.spec.container.image (string)
job.spec.manual (boolean)
job.spec.schedule (string)
job.teamOwner (string) – Team that owns the job.
job.teams[] (string)
serviceInstanceBinds[].instance (string)
serviceInstanceBinds[].plan (string)
serviceInstanceBinds[].service (string)
units[].address.host (string)
units[].address.scheme (string)
units[].appname (string)
units[].createdAt (string)
units[].id (string)
units[].ip (string)
units[].name (string)
units[].processname (string)
units[].ready (boolean)
units[].restarts (integer)
units[].routable (boolean)
units[].status (string)
units[].type (string)
units[].version (integer)
- PUT /1.13/jobs/{name}
Update a job that runs periodically
- Parameters:
name (string) – Name of job
- Request JSON Object:
activeDeadlineSeconds (integer) – job active deadline seconds.
concurrencyPolicy (string) – concurrency policy.
container.command[] (string)
container.envs[].alias (string)
container.envs[].managedBy (string)
container.envs[].name (string)
container.envs[].public (boolean)
container.envs[].value (string)
container.image (string)
description (string) – job description.
manual (boolean) – create a manual job.
metadata.annotations[].delete (boolean)
metadata.annotations[].name (string)
metadata.annotations[].value (string)
metadata.labels[].delete (boolean)
metadata.labels[].name (string)
metadata.labels[].value (string)
name (string) – Job name. (required)
plan (string) – job plan name.
pool (string) – job pool name.
schedule (string) – how often this job will run.
tags[] (string)
teamOwner (string) – Team that owns the job.
- Status Codes:
200 OK – Job Updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
403 Forbidden – Quota exceeded
409 Conflict – App already exists
- DELETE /1.13/jobs/{name}
Remove a job
- Parameters:
name (string) – Name of job
- Status Codes:
200 OK – Job removed
401 Unauthorized – Unauthorized
404 Not Found – Plan not found
- POST /1.13/jobs/{name}/trigger
Trigger a job
- Parameters:
name (string) – Name of job
- Status Codes:
200 OK – Job triggered
401 Unauthorized – Unauthorized
404 Not Found – Plan not found
- GET /1.13/jobs/{name}/log
Retrieve logs from a job
- Parameters:
name (string) – Name of job
- Query Parameters:
follow (boolean) – attach logs to tty
- Status Codes:
200 OK – OK
400 Bad Request – Invalid data
403 Forbidden – Forbidden
404 Not Found – Job not found
- POST /1.13/jobs/{name}/env
Set new environment variable.
- Parameters:
name (string) – Job name.
- Request JSON Object:
envs[].alias (string)
envs[].managedBy (string)
envs[].name (string)
envs[].private (boolean)
envs[].value (string)
managedBy (string)
norestart (boolean)
private (boolean)
pruneUnused (boolean)
- Status Codes:
200 OK – Envs updated
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Job not found
- DELETE /1.13/jobs/{name}/env
Unset job environment variables.
- Parameters:
name (string) – Job name.
- Query Parameters:
env (array)
- Status Codes:
200 OK – Envs deleted
400 Bad Request – Invalid data
401 Unauthorized – Unauthorized
404 Not Found – Job not found
- GET /1.16/jobs/{name}/env
Get job environment variables.
- Parameters:
name (string) – Job name.
- Query Parameters:
env (string) – Environment variable name.
- Status Codes:
200 OK – Environment variables
401 Unauthorized – Unauthorized
404 Not Found – Job not found
- Response JSON Object:
[].alias (string)
[].managedBy (string)
[].name (string)
[].public (boolean)
[].value (string)