How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Cloud Foundry Cloud Controller API v3

The Cloud Controller API (CAPI) v3 is the primary control plane of Cloud Foundry. It manages apps, packages, droplets, builds, deployments, processes, tasks, revisions, routes, domains, organizations, spaces, roles, security groups, service brokers, offerings, plans, instances and credential bindings. The Cloud Foundry Foundation publishes a machine-readable OpenAPI 3.1 description of the surface from the cf-openapi project (158 paths / 248 operations), rendered at cloudfoundry.github.io/cf-openapi. Requests authenticate with OAuth 2.0 bearer tokens issued by the UAA server; there is no single public host because every Cloud Foundry foundation is self-hosted at its own api..

Cloud Foundry Cloud Controller API v3 is one of 14 APIs that Cloud Foundry publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Cloud Foundry Cloud Controller API V3, Application, Deployment, Organization, and Spaces. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 248 operations across 158 paths, organized into 38 resource areas, and defines 97 schemas. It is described by OpenAPI 3.1.0, at version latest.

Requests are made against a single base URL, https://api.example.local.

248 operations 158 paths 97 schemas 34 DELETE121 GET40 PATCH51 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
latest
Base URL
https://api.{system-domain}
Authentication
OAuth 2.0, HTTP Bearer
License
Resource Areas
38

Authentication & Security 2

Cloud Foundry Cloud Controller API v3 declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (oauth) using the implicit flow, exposing 7 scopes. It accepts HTTP bearer tokens (JWT) (bearer). By default, every request must be authenticated.

  • bearer — Bearer JWT token authentication

Paths & Operations 248

Across 158 paths, the API surfaces 248 operations — 34 DELETE, 121 GET, 40 PATCH, 51 POST, 2 PUT. They span 38 resource areas, including Root, Admin, Apps, App Usage Events, Audit Events, Builds, Buildpacks, Deployments, and 30 more. Each is listed below with its method, path, parameters, and response codes.

Root 2

Root API endpoints that provide entry points and API information.

GET
/
Global API Root
getApiRoot → 200404500
GET
/v3
Get V3 API root
getV3ApiRoot → 200404500
Admin 1

Administrative operations for Cloud Foundry platform management.

POST
/v3/admin/actions/clear_buildpack_cache
Clear the buildpack cache
clearBuildpackCache → 202401403404
Apps 21

Apps are top-level objects that link together and contain configuration information for your packages, droplets, processes, tasks, and more.

GET
/v3/apps
List apps
listApps 13 params → 200400401403409422500502
POST
/v3/apps
Create an app
createApp body → 201400401403409422500503
GET
/v3/apps/{guid}
Get an app
getApp 2 params → 200401403404
PATCH
/v3/apps/{guid}
Update an app
updateApp 1 param body → 200400401403404409422500
DELETE
/v3/apps/{guid}
Delete an app
deleteApp 1 param → 202401403404422500
POST
/v3/apps/{guid}/actions/start
Start an app
startApp 1 param → 200401403404422
POST
/v3/apps/{guid}/actions/stop
Stop an app
stopApp 1 param → 200401403404422
POST
/v3/apps/{guid}/actions/restart
Restart an app
restartApp 1 param → 200401403404422
GET
/v3/apps/{guid}/droplets
List droplets for an app
listAppDroplets 7 params → 200401403404
GET
/v3/apps/{guid}/droplets/current
Get current droplet
getCurrentDropletForApp 1 param → 200401403404
GET
/v3/apps/{guid}/relationships/current_droplet
Get current droplet association for an app
getCurrentDropletAssociationForApp 1 param → 200401403404
PATCH
/v3/apps/{guid}/relationships/current_droplet
Set current droplet
setCurrentDropletForApp 1 param body → 200401403404422
POST
/v3/apps/{guid}/actions/clear_buildpack_cache
Clear buildpack cache for application
clearBuildpackCacheForApplication 1 param → 202401403404422
GET
/v3/apps/{guid}/env
Get environment for an app
getEnvForApp 1 param → 200401403404
GET
/v3/apps/{guid}/environment_variables
Get environment variables for an app
getEnvironmentVariablesForApp 1 param → 200401403404
PATCH
/v3/apps/{guid}/environment_variables
Update environment variables for an app
updateEnvironmentVariablesForApp 1 param body → 200401403404422
GET
/v3/apps/{guid}/features
List app features
listAppFeatures 1 param → 200401403404
GET
/v3/apps/{guid}/features/{name}
Get an app feature
getAppFeature 2 params → 200401403404
PATCH
/v3/apps/{guid}/features/{name}
Update an app feature
updateAppFeature 2 params body → 200400401403404422
GET
/v3/apps/{guid}/permissions
Get permissions for an app
getPermissionsForApp 1 param → 200401403404
GET
/v3/apps/{guid}/ssh_enabled
Get SSH enabled for an app
getSshEnabledForApp 1 param → 200401403404
App Usage Events 3

App usage events are a record of changes in the usage of apps and tasks.

GET
/v3/app_usage_events
List app usage events
listAppUsageEvents 6 params → 200400401403404409422500
GET
/v3/app_usage_events/{guid}
Get an app usage event
getAppUsageEvent 1 param → 200401403404
POST
/v3/app_usage_events/actions/destructively_purge_all_and_reseed
Purge and seed app usage events
purgeAndSeedAppUsageEvents → 200400401403404409422500
Audit Events 2

Audit events help Cloud Foundry operators monitor actions taken against resources (such as apps) via user or system actions.

GET
/v3/audit_events
List audit events
listAuditEvents 9 params → 200400401403409422500502
GET
/v3/audit_events/{guid}
Get an audit event
getAuditEvent 1 param → 200401403404
Builds 6

Builds represent the process of staging an application package.

GET
/v3/builds
List builds
listBuilds 9 params → 200400401403409422500502
POST
/v3/builds
Create a build
createBuild body → 201400401403409422500503
GET
/v3/builds/{guid}
Get a build
getBuild 1 param → 200401403404
PATCH
/v3/builds/{guid}
Update a build
updateBuild 1 param body → 200400401403404409422500
GET
/v3/apps/{guid}/builds
List builds for an app
listAppBuilds 8 params → 200401403404
PATCH
/v3/apps/{guid}/builds
Update a build
updateBuildViaApp 1 param body → 200401403404422
Buildpacks 6

Buildpacks are used during a build to download external dependencies and transform a package into an executable droplet.

GET
/v3/buildpacks
List buildpacks
listBuildpacks 8 params → 200400401403409422500502
POST
/v3/buildpacks
Create a buildpack
createBuildpack body → 201400401403409422500503
GET
/v3/buildpacks/{guid}
Get a buildpack
getBuildpack 1 param → 200400401403404
PATCH
/v3/buildpacks/{guid}
Update a buildpack
updateBuildpack 1 param body → 200400401403404409422500
DELETE
/v3/buildpacks/{guid}
Delete a buildpack
deleteBuildpack 1 param → 202401403404422500
POST
/v3/buildpacks/{guid}/upload
Upload buildpack bits
uploadBuildpack 1 param body → 200202401403404422
Deployments 6

Deployments are objects that manage updates to applications with zero downtime.

GET
/v3/deployments
List deployments
listDeployments 10 params → 200400401403409422500502
POST
/v3/deployments
Create a deployment
createDeployment body → 201400401403409422500503
GET
/v3/deployments/{guid}
Get a deployment
getDeployment 1 param → 200401403404
PATCH
/v3/deployments/{guid}
Update a deployment
updateDeployment 1 param body → 200400401403404409422500
POST
/v3/deployments/{guid}/actions/cancel
Cancel a deployment
cancelDeployment 1 param → 200401403404422
POST
/v3/deployments/{guid}/actions/continue
Continue a deployment
continueDeployment 1 param → 200401403404422
Domains 9

Domains represent a fully qualified domain name that is used for application routes.

GET
/v3/domains
List domains
listDomains 9 params → 200400401403409422500502
POST
/v3/domains
Create a domain
createDomain body → 201400401403409422500503
GET
/v3/domains/{guid}
Get a domain
getDomain 1 param → 200401403404
PATCH
/v3/domains/{guid}
Update a domain
updateDomain 1 param body → 200400401403404409422500
DELETE
/v3/domains/{guid}
Delete a domain
deleteDomain 1 param → 202401403404422500
POST
/v3/domains/{guid}/relationships/shared_organizations
Share a domain
shareDomain 1 param body → 200401403404422
DELETE
/v3/domains/{guid}/relationships/shared_organizations/{org_guid}
Unshare a domain
unshareDomain 2 params → 204401403404422
GET
/v3/domains/{guid}/route_reservations
Check reserved routes for a domain
checkReservedRoutesForDomain 4 params → 200401403404
GET
/v3/organizations/{guid}/domains
List domains for an organization
listDomainsForOrganization 5 params → 200401403404
Droplets 7

Droplets are the result of staging an application package.

GET
/v3/droplets
List droplets
listDroplets 11 params → 200400401403409422500502
POST
/v3/droplets
Create a droplet
createDroplet body → 201400401403404409422500
GET
/v3/droplets/{guid}
Get a droplet
getDroplet 1 param → 200400403404
PATCH
/v3/droplets/{guid}
Update a droplet
updateDroplet 1 param body → 200400401403404409422500
DELETE
/v3/droplets/{guid}
Delete a droplet
deleteDroplet 1 param → 202401403404422500
GET
/v3/droplets/{guid}/download
Download droplet bits
downloadDroplet 1 param → 200302401403404422502
POST
/v3/droplets/{guid}/upload
Upload droplet bits
uploadDroplet 1 param body → 200202401403404422
Environment Variable Groups 2

There are two types of environment variable groups: running and staging.

GET
/v3/environment_variable_groups/{name}
Get an environment variable group
getEnvironmentVariableGroup 1 param → 200400401403404409422500
PATCH
/v3/environment_variable_groups/{name}
Update environment variable group
updateEnvironmentVariableGroup 1 param body → 200400401403404409422500
Feature Flags 3

Feature flags are runtime flags that enable or disable functionality on the API.

GET
/v3/feature_flags
List feature flags
listFeatureFlags 4 params → 200400401403409422500502
GET
/v3/feature_flags/{name}
Get a feature flag
getFeatureFlag 1 param → 200401403404
PATCH
/v3/feature_flags/{name}
Update a feature flag
updateFeatureFlag 1 param body → 200400401403404409422500
Info 2

Info endpoints expose Cloud Controller configuration information.

GET
/v3/info
Get platform info
getPlatformInfo → 200400403404409422500502
GET
/v3/info/usage_summary
Get platform usage summary
getPlatformUsageSummary → 200401403404500
Isolation Segments 10

Isolation Segments provide dedicated pools of resources to which apps can be deployed to isolate workloads.

GET
/v3/isolation_segments
List isolation segments
listIsolationSegments 9 params → 200400401403409422500502
POST
/v3/isolation_segments
Create an isolation segment
createIsolationSegment body → 201400401403409422500503
GET
/v3/isolation_segments/{guid}
Get an isolation segment
getIsolationSegment 1 param → 200401403404
PATCH
/v3/isolation_segments/{guid}
Update an isolation segment
updateIsolationSegment 1 param body → 200400401403404409422500
DELETE
/v3/isolation_segments/{guid}
Delete an isolation segment
deleteIsolationSegment 1 param → 204401403404422500
POST
/v3/isolation_segments/{guid}/relationships/organizations
Entitle organizations for isolation segment
entitleOrganizationsForIsolationSegment 1 param body → 200401403404422
GET
/v3/isolation_segments/{guid}/relationships/organizations
List organizations relationship
listOrganizationsForIsolationSegment 3 params → 200401403404
DELETE
/v3/isolation_segments/{guid}/relationships/organizations/{org_guid}
Revoke entitlement to isolation segment for an organization
revokeIsolationSegmentForOrganization 2 params → 204401403404422
GET
/v3/isolation_segments/{guid}/relationships/spaces
List spaces relationship
listSpacesForIsolationSegment 3 params → 200401403404
GET
/v3/isolation_segments/{guid}/organizations
List organizations for isolation segment
listOrganizationsForIsolationSegmentShort 3 params → 200401403404
Jobs 1

Jobs are created by the platform when performing certain asynchronous actions.

GET
/v3/jobs/{guid}
Get a job
getJob 1 param → 200400401403404409422500
Resource Matches 1

Resource Matches are used to determine if a resource has been previously uploaded to the Cloud Controller.

POST
/v3/resource_matches
Create a resource match
postResourceMatches body → 201400401403409422500503
Revisions 5

Revisions represent code used by an application at a specific time.

GET
/v3/revisions/{guid}
Get a revision
getRevision 1 param → 200400401403404409422500
PATCH
/v3/revisions/{guid}
Update a revision
updateRevision 1 param body → 200400401403404409422500
GET
/v3/revisions/{guid}/environment_variables
Get environment variables for a revision
getRevisionEnvironmentVariables 1 param → 200401403404
GET
/v3/apps/{guid}/revisions
List revisions for an app
listRevisionsForApp 8 params → 200401403404
GET
/v3/apps/{guid}/revisions/deployed
List deployed revisions for an app
listDeployedRevisionsForApp 4 params → 200401403404
Roles 4

Roles are used to control access to resources.

GET
/v3/roles
List roles
listRoles 12 params → 200400401403409422500502
POST
/v3/roles
Create a role
createRole body → 201400401403409422429500
GET
/v3/roles/{guid}
Get a role
getRole 2 params → 200401403404
DELETE
/v3/roles/{guid}
Delete a role
deleteRole 1 param → 202401403404422500
Routes 15

Routes are used to map a URL to an app.

GET
/v3/routes
List routes
listRoutes 16 params → 200400401403409422500502
POST
/v3/routes
Create a route
createRoute body → 201400401403409422500503
GET
/v3/routes/{guid}/destinations
List destinations for a route
listDestinationsForRoute 3 params → 200400401403404
POST
/v3/routes/{guid}/destinations
Insert destinations for a route
insertDestinationsForRoute 1 param body → 200400401403404422
PATCH
/v3/routes/{guid}/destinations
Replace all destinations for a route
replaceDestinationsForRouteWithPatch 1 param body → 200400401403404422
PATCH
/v3/routes/{guid}/destinations/{destination_guid}
Update a destination protocol for a route
updateDestinationProtocolForRoute 2 params body → 200401403404422
DELETE
/v3/routes/{guid}/destinations/{destination_guid}
Remove destination for a route
removeDestinationForRoute 2 params → 204401403404422
GET
/v3/apps/{guid}/routes
List routes for an app
listAppRoutes 8 params → 200401403404
GET
/v3/routes/{guid}
Get a route
getRoute 2 params → 200401403404
PATCH
/v3/routes/{guid}
Update a route
updateRoute 1 param body → 200400401403404409422500
DELETE
/v3/routes/{guid}
Delete a route
deleteRoute 1 param → 202401403404422500
GET
/v3/routes/{guid}/relationships/shared_spaces
List shared spaces relationship
listSharedSpacesRelationship 1 param → 200401403404
POST
/v3/routes/{guid}/relationships/shared_spaces
Share a route with other spaces (experimental)
shareRoute 1 param body → 200401403404422
DELETE
/v3/routes/{guid}/relationships/shared_spaces/{space_guid}
Unshare a route that was shared with another space (experimental)
unshareRoute 2 params → 204401403404422
PATCH
/v3/routes/{guid}/relationships/space
Transfer ownership (experimental)
transferRouteOwnership 1 param body → 204401403404422
Security Groups 9

Security groups are used to control access to apps.

GET
/v3/security_groups
List security groups
listSecurityGroups 11 params → 200400401403409422500502
POST
/v3/security_groups
Create a security group
createSecurityGroup body → 201400401403409422500503
GET
/v3/security_groups/{guid}
Get a security group
getSecurityGroup 1 param → 200401403404
PATCH
/v3/security_groups/{guid}
Update a security group
updateSecurityGroup 1 param body → 200400401403404409422500
DELETE
/v3/security_groups/{guid}
Delete a security group
deleteSecurityGroup 1 param → 202401403404500
POST
/v3/security_groups/{guid}/relationships/running_spaces
Bind a running security group to spaces
bindRunningSecurityGroup 1 param body → 200401403404422
DELETE
/v3/security_groups/{guid}/relationships/running_spaces/{space_guid}
Unbind a running security group from a space
unbindRunningSecurityGroup 2 params → 204401403404422
POST
/v3/security_groups/{guid}/relationships/staging_spaces
Bind a staging security group to spaces
bindStagingSecurityGroup 1 param body → 200401403404422
DELETE
/v3/security_groups/{guid}/relationships/staging_spaces/{space_guid}
Unbind a staging security group from a space
unbindStagingSecurityGroup 2 params → 204401403404422
Service Brokers 5

Service brokers are used to manage services.

GET
/v3/service_brokers
List service brokers
listServiceBrokers 8 params → 200400401403409422500502
POST
/v3/service_brokers
Create a service broker
createServiceBroker body → 202400401403409422500503
GET
/v3/service_brokers/{guid}
Get a service broker
getServiceBroker 1 param → 200401403404
PATCH
/v3/service_brokers/{guid}
Update a service broker
updateServiceBroker 1 param body → 200202400401403404409422
DELETE
/v3/service_brokers/{guid}
Delete a service broker
deleteServiceBroker 1 param → 202401403404422500
Service Credential Bindings 7

Service credential bindings are used to bind a service instance to an app.

GET
/v3/service_credential_bindings
List service credential bindings
listServiceCredentialBindings 18 params → 200400401403409422500502
POST
/v3/service_credential_bindings
Create a service credential binding
createServiceCredentialBinding body → 201202400401403409422500
GET
/v3/service_credential_bindings/{guid}
Get a service credential binding
getServiceCredentialBinding 2 params → 200401403404
PATCH
/v3/service_credential_bindings/{guid}
Update a service credential binding
updateServiceCredentialBinding 1 param body → 200400401403404409422500
DELETE
/v3/service_credential_bindings/{guid}
Delete a service credential binding
deleteServiceCredentialBinding 1 param → 202204401403404422500
GET
/v3/service_credential_bindings/{guid}/details
Get a service credential binding details
getServiceCredentialBindingDetails 1 param → 200401403404
GET
/v3/service_credential_bindings/{guid}/parameters
Get parameters for a service credential binding
getServiceCredentialBindingParameters 1 param → 200401403404
Service Instances 12

Service instances are instances of a service.

GET
/v3/service_instances
List service instances
listServiceInstances 14 params → 200400401403409422500502
POST
/v3/service_instances
Create a service instance
createServiceInstance body → 201202400401403409422500
GET
/v3/service_instances/{guid}
Get a service instance
getServiceInstance 2 params → 200401403404
PATCH
/v3/service_instances/{guid}
Update a service instance
updateServiceInstance 1 param body → 200202400401403404409422
DELETE
/v3/service_instances/{guid}
Delete a service instance
deleteServiceInstance 2 params → 202204401403404422
GET
/v3/service_instances/{guid}/credentials
Get credentials for a user-provided service instance
getServiceInstanceCredentials 1 param → 200401403404
GET
/v3/service_instances/{guid}/parameters
Get parameters for a managed service instance
getServiceInstanceParameters 1 param → 200401403404
GET
/v3/service_instances/{guid}/permissions
Get permissions for a service instance
getServiceInstancePermissions 1 param → 200401403404
GET
/v3/service_instances/{guid}/relationships/shared_spaces
List shared spaces relationship
listServiceInstanceSharedSpaces 2 params → 200401403404
POST
/v3/service_instances/{guid}/relationships/shared_spaces
Share a service instance to other spaces
shareServiceInstance 1 param body → 200401403404422
GET
/v3/service_instances/{guid}/relationships/shared_spaces/usage_summary
Get usage summary in shared spaces
getServiceInstanceUsageSummaryInSharedSpaces 1 param → 200401403404
DELETE
/v3/service_instances/{guid}/relationships/shared_spaces/{space_guid}
Unshare a service instance from another space
unshareServiceInstance 2 params → 204401403404422500
Service Offerings 4

Service offerings are services that are available to be used.

GET
/v3/service_offerings
List service offerings
listServiceOfferings 13 params → 200400401403409422500502
GET
/v3/service_offerings/{guid}
Get a service offering
getServiceOffering 1 param → 200401403404
PATCH
/v3/service_offerings/{guid}
Update a service offering
updateServiceOffering 1 param body → 200400401403404409422500
DELETE
/v3/service_offerings/{guid}
Delete a service offering
deleteServiceOffering 2 params → 204401403404422500
Service Plans 8

Service plans are plans for a service.

GET
/v3/service_plans
List service plans
listServicePlans 18 params → 200400401403409422500502
GET
/v3/service_plans/{guid}
Get a service plan
getServicePlan 2 params → 200401403404
PATCH
/v3/service_plans/{guid}
Update a service plan
updateServicePlan 1 param body → 200400401403404409422500
DELETE
/v3/service_plans/{guid}
Delete a service plan
deleteServicePlan 1 param → 204401403404422500
GET
/v3/service_plans/{guid}/visibility
Get a service plan visibility
getServicePlanVisibility 1 param → 200401403404
PATCH
/v3/service_plans/{guid}/visibility
Update a service plan visibility
updateServicePlanVisibility 1 param body → 200401403404422
POST
/v3/service_plans/{guid}/visibility
Apply a service plan visibility
applyServicePlanVisibility 1 param body → 200400401403404409422500
DELETE
/v3/service_plans/{guid}/visibility/{organization_guid}
Remove organization from a service plan visibility
removeOrganizationFromServicePlanVisibility 2 params → 204401403404422
Service Route Bindings 6

Service route bindings are used to bind a route to a service instance.

GET
/v3/service_route_bindings
List service route bindings
listServiceRouteBindings 11 params → 200400401403409422500502
POST
/v3/service_route_bindings
Create a service route binding
createServiceRouteBinding body → 201202400401403409422500
GET
/v3/service_route_bindings/{guid}
Get a service route binding
getServiceRouteBinding 2 params → 200401403404
PATCH
/v3/service_route_bindings/{guid}
Update a service route binding
updateServiceRouteBinding 1 param body → 200400401403404409422500
DELETE
/v3/service_route_bindings/{guid}
Delete a service route binding
deleteServiceRouteBinding 1 param → 202204401403404422500
GET
/v3/service_route_bindings/{guid}/parameters
Get parameters for a route binding
getServiceRouteBindingParameters 1 param → 200401403404
Service Usage Events 3

Service usage events are a record of changes in the usage of services.

GET
/v3/service_usage_events
List service usage events
listServiceUsageEvents 8 params → 200400401403409422500502
GET
/v3/service_usage_events/{guid}
Get a service usage event
getServiceUsageEvent 1 param → 200401403404
POST
/v3/service_usage_events/actions/destructively_purge_all_and_reseed
Purge and seed service usage events
purgeAndSeedServiceUsageEvents → 200400401403404409422500
Sidecars 6

Sidecars are used to run a process alongside an app.

GET
/v3/sidecars/{guid}
Get a sidecar
getSidecar 1 param → 200400401403404409422500
PATCH
/v3/sidecars/{guid}
Update a sidecar
updateSidecar 1 param body → 200400401403404409422500
DELETE
/v3/sidecars/{guid}
Delete a sidecar
deleteSidecar 1 param → 204401403404422500
GET
/v3/apps/{guid}/sidecars
List sidecars for app
listAppSidecars 1 param → 200401403404
POST
/v3/apps/{guid}/sidecars
Create a sidecar associated with an app
createSidecar 1 param body → 201400401403404409422500
GET
/v3/processes/{guid}/sidecars
List sidecars for process
listProcessSidecars 1 param → 200401403404
Spaces 17

Spaces are used to group apps and services.

GET
/v3/spaces
List spaces
listSpaces 10 params → 200400401403409422429500
POST
/v3/spaces
Create a space
createSpace body → 201400401403409422500503
GET
/v3/spaces/{guid}
Get a space
getSpace 2 params → 200401403404
PATCH
/v3/spaces/{guid}
Update a space
updateSpace 1 param body → 200400401403404409422500
DELETE
/v3/spaces/{guid}
Delete a space
deleteSpace 1 param → 202400401403404422500
POST
/v3/spaces/{guid}/actions/apply_manifest
Apply a manifest to a space
applyManifestToSpace 1 param body → 202401403404422
GET
/v3/spaces/{guid}/features
List space features
listSpaceFeatures 1 param → 200401403404
GET
/v3/spaces/{guid}/features/{name}
Get a space feature
getSpaceFeature 2 params → 200401403404
PATCH
/v3/spaces/{guid}/features/{name}
Update a space feature
updateSpaceFeature 2 params body → 200401403404422
POST
/v3/spaces/{guid}/manifest_diff
Create a manifest diff for a space (experimental)
createManifestDiffForSpace 1 param body → 201202401403404422
GET
/v3/spaces/{guid}/relationships/isolation_segment
Get assigned isolation segment
getAssignedIsolationSegmentForSpace 1 param → 200401403404
PATCH
/v3/spaces/{guid}/relationships/isolation_segment
Manage isolation segment
manageIsolationSegmentForSpace 1 param body → 200401403404422
DELETE
/v3/spaces/{guid}/routes
Delete unmapped routes for a space
deleteUnmappedRoutesForSpace 2 params → 202401403404422
GET
/v3/spaces/{guid}/usage_summary
Get usage summary for a space
getUsageSummaryForSpace 1 param → 200401403404
GET
/v3/spaces/{guid}/running_security_groups
List running security groups for a space
listRunningSecurityGroupsForSpace 1 param → 200401403404
GET
/v3/spaces/{guid}/staging_security_groups
List staging security groups for a space
listStagingSecurityGroupsForSpace 1 param → 200401403404
GET
/v3/spaces/{guid}/users
List users for a space
listUsersForSpace 1 param → 200401403404
Space Quotas 7

Space quotas are named sets of memory, log rate, service, and instance usage quotas.

GET
/v3/space_quotas
List space quotas
listSpaceQuotas 9 params → 200400401403409422500502
POST
/v3/space_quotas
Create a space quota
createSpaceQuota body → 201400401403409422500503
GET
/v3/space_quotas/{guid}
Get a space quota
getSpaceQuota 1 param → 200401403404
PATCH
/v3/space_quotas/{guid}
Update a space quota
updateSpaceQuota 1 param body → 200400401403404409422500
DELETE
/v3/space_quotas/{guid}
Delete a space quota
deleteSpaceQuota 1 param → 202401403404422500
POST
/v3/space_quotas/{quota_guid}/relationships/spaces
Apply a space quota to a space
applySpaceQuota 1 param body → 200401403404422
DELETE
/v3/space_quotas/{guid}/relationships/spaces/{space_guid}
Remove a space quota from a space
removeSpaceQuotaFromSpace 2 params → 204401403404422
Stacks 6

Stacks are used to specify the operating system and runtime environment for an app.

GET
/v3/stacks
List stacks
listStacks 7 params → 200400401403409422500502
POST
/v3/stacks
Create a stack
createStack body → 201400401403409422500503
GET
/v3/stacks/{guid}
Get a stack
getStack 1 param → 200401403404
PATCH
/v3/stacks/{guid}
Update a stack
updateStack 1 param body → 200400401403404409422500
DELETE
/v3/stacks/{guid}
Delete a stack
deleteStack 1 param → 204401403404422500
GET
/v3/stacks/{guid}/apps
List apps on a stack
listAppsOnStack 7 params → 200400401403404
Tasks 8

Tasks are one-off commands that can be run against an app.

GET
/v3/tasks
List tasks
listTasks 13 params → 200400401403409422500502
GET
/v3/tasks/{guid}
Get a task
getTask 1 param → 200401403404
PATCH
/v3/tasks/{guid}
Update a task
updateTask 1 param body → 200400401403404409422500
POST
/v3/tasks/{guid}/actions/cancel
Cancel a task
cancelTask 1 param → 202401403404422
PUT
/v3/tasks/{guid}/actions/cancel
Cancel a task (PUT)
cancelTaskPut 1 param → 202400401403404422500
PUT
/v3/tasks/{guid}/cancel
DEPRECATED - Cancel a task (short path)
cancelTaskShort 1 param → 202401403404422
GET
/v3/apps/{guid}/tasks
List tasks for an app
listAppTasks 11 params → 200401403404
POST
/v3/apps/{guid}/tasks
Create a task
createTask 1 param body → 202400401403404409422500
Users 5

Users are the users of the Cloud Foundry platform.

GET
/v3/users
List users
listUsers 10 params → 200400401403409422500502
POST
/v3/users
Create a user
createUser body → 201400401403409422429500
GET
/v3/users/{guid}
Get a user
getUser 1 param → 200401403404
PATCH
/v3/users/{guid}
Update a user
updateUser 1 param body → 200400401403404409422500
DELETE
/v3/users/{guid}
Delete a user
deleteUser 1 param → 202401403404422500
Organizations 10

An org is a development account that an individual or multiple collaborators can own and use.

GET
/v3/organizations
List organizations
listOrganizations 8 params → 200400401403409422500502
POST
/v3/organizations
Create an organization
createOrganization body → 201400401403409422500503
GET
/v3/organizations/{guid}
Get an organization
getOrganization 1 param → 200401403404
PATCH
/v3/organizations/{guid}
Update an organization
updateOrganization 1 param body → 200400401403404409422500
DELETE
/v3/organizations/{guid}
Delete an organization
deleteOrganization 1 param → 202401403404422500
GET
/v3/organizations/{guid}/domains/default
Get default domain
getDefaultDomainForOrganization 1 param → 200401403404
GET
/v3/organizations/{guid}/usage_summary
Get usage summary
getUsageSummaryForOrganization 1 param → 200401403404
GET
/v3/organizations/{guid}/users
List users for an organization
listUsersForOrganization 11 params → 200401403404
GET
/v3/organizations/{guid}/relationships/default_isolation_segment
Get default isolation segment
getDefaultIsolationSegmentForOrganization 1 param → 200401403404
PATCH
/v3/organizations/{guid}/relationships/default_isolation_segment
Assign default isolation segment
assignDefaultIsolationSegmentForOrganization 1 param body → 200401403404422
Organization Quotas 6

Organization quotas are named sets of memory, log rate, service, and instance usage quotas.

GET
/v3/organization_quotas
List organization quotas
listOrganizationQuotas 8 params → 200400401403409422500502
POST
/v3/organization_quotas
Create an organization quota
createOrganizationQuota body → 201400401403409422500503
GET
/v3/organization_quotas/{guid}
Get an organization quota
getOrganizationQuota 1 param → 200401403404
PATCH
/v3/organization_quotas/{guid}
Update an organization quota
updateOrganizationQuota 1 param body → 200400401403404409422500
DELETE
/v3/organization_quotas/{guid}
Delete an organization quota
deleteOrganizationQuota 1 param → 202401403404422500
POST
/v3/organization_quotas/{quota_guid}/relationships/organizations
Apply an organization quota to an organization
applyOrganizationQuota 1 param body → 200401403404422
Packages 9

A package is an application’s ‘source code’; either raw bits for your application or a pointer to these bits.

GET
/v3/packages
List packages
listPackages 12 params → 200400401403409422500502
POST
/v3/packages
Create a package
createPackage body → 201400401403409422500503
GET
/v3/packages/{guid}
Get a package
getPackage 1 param → 200401403404422
PATCH
/v3/packages/{guid}
Update a package
updatePackage 1 param body → 200400401403404409422500
DELETE
/v3/packages/{guid}
Delete a package
deletePackage 1 param → 202401403404422500
GET
/v3/packages/{guid}/droplets
List droplets for a package
listPackageDroplets 7 params → 200401403404
GET
/v3/apps/{guid}/packages
List packages for an app
listAppPackages 7 params → 200401403404
POST
/v3/packages/{guid}/upload
Upload package bits
uploadPackageBits 1 param body → 200202401403404422
GET
/v3/packages/{guid}/download
Download package bits
downloadPackageBits 1 param → 302403404
Processes 13

Processes define the runnable units of an app.

GET
/v3/processes
List processes
listProcesses 11 params → 200400401403409422500502
GET
/v3/processes/{guid}
Get a process
getProcess 1 param → 200401403404
PATCH
/v3/processes/{guid}
Update a process
updateProcess 1 param body → 200400401403404409422500
GET
/v3/processes/{guid}/process_instances
List instances for a process
listProcessInstances 1 param → 200401403404
GET
/v3/processes/{guid}/stats
Get stats for a process
getProcessStats 1 param → 200401403404503
POST
/v3/processes/{guid}/actions/scale
Scale a process
scaleProcess 1 param body → 202400401403404409422500
DELETE
/v3/processes/{guid}/instances/{index}
Terminate a process instance
terminateProcessInstance 2 params → 204401403404422500
GET
/v3/apps/{guid}/processes
List processes for an app
listAppProcesses 4 params → 200401403404
GET
/v3/apps/{guid}/processes/{type}
Get a process for an app
getProcessForApp 2 params → 200401403404
PATCH
/v3/apps/{guid}/processes/{type}
Update a process for an app
updateProcessForApp 2 params body → 200400401403404422
GET
/v3/apps/{guid}/processes/{type}/stats
Get stats for a process for an app
getProcessStatsForApp 2 params → 200401403404503
POST
/v3/apps/{guid}/processes/{type}/actions/scale
Scale a process for an app
scaleProcessForApp 2 params body → 202401403404422
DELETE
/v3/apps/{guid}/processes/{type}/instances/{index}
Terminate a process instance for an app
terminateProcessInstanceForApp 3 params → 204401403404422
Manifests 1

A manifest is a method for applying bulk configurations to apps and their underlying processes.

GET
/v3/apps/{guid}/manifest
Generate a manifest for an app
generateManifest 1 param → 200400401403404409422500

Schemas 97

The contract defines 97 schemas that model the data the API accepts and returns. The most detailed are RouteDestination (9 properties), AppUsageEvent (9 properties), User (8 properties), IncludedResources (8 properties). Each schema is shown below with its type and property counts.

BaseSchema
object
A resource represents an individual object within the system, such as an app or a service. It is represented as a JSON object. A resource consists of several r…
3 properties
Relationships
object
Relationships represent associations between resources. When relationships are mutable, they can be used to create, read, update, and delete these associations…
Relationship
object
1 property
RelationshipToOne
object
Some relationships relate a resource to exactly one other resource. For example an app can belong to only one space.
2 properties
RelationshipToMany
object
Some relationships relate a resource to several other resources. For example, an isolation segment can be entitled to multiple organizations.
2 properties
UserRelationshipToOne
objectnull
1 property
IncludedResources
object
Additional related resources included in the response when using the include parameter
8 properties
Link
object
Each link is keyed by its type and will include a href for the URL and an optional method for links that cannot be followed using GET.
2 properties 1 required
Pagination
object
Pagination is a technique used to divide a large set of results into smaller, more manageable sets. This allows clients to retrieve results in smaller chunks,…
6 properties
Metadata
object
Metadata is a JSON object that contains information about a resource. It includes the GUID of the resource, the time the resource was created, the time the res…
2 properties
Buildpack
object
A buildpack represents a set of scripts used to prepare an application for launch.
BuildpackList
object
2 properties
User
object
8 properties
Droplet
object
A droplet is the result of staging an application package. There are two types (lifecycles) of droplets buildpack and docker. In the case of the buildpacks, th…
DropletList
object
2 properties
Lifecycle
object
The lifecycle type defines how the application droplet is created and run. The following lifecycle types are supported: - buildpack: Traditional buildpacks for…
2 properties
Domain
object
A domain is a fully qualified domain name that is used for application routes. A domain can be scoped to an organization, meaning it can be used to create rout…
DomainList
object
2 properties
EnvironmentVariableGroup
object
Environment variable groups allow platform operators/admins to manage environment variables across all apps in a Cloud Foundry foundation. Variables in the run…
4 properties
Deployment
object
Deployments are objects that manage updates to applications with zero downtime. They can either: - Manage updating an app’s droplet directly after an applicati…
DeploymentList
object
2 properties
FeatureFlag
object
Feature flags are runtime flags that enable or disable functionality on the API.
5 properties
FeatureFlagList
object
2 properties
Build
object
Builds represent the process of transforming source code into a runnable artifact. Builds can be triggered manually or automatically as part of the app lifecyc…
BuildList
object
2 properties
AuditEvent
object
Audit events help Cloud Foundry operators monitor actions taken against resources (such as apps) via user or system actions.
AuditEventList
object
2 properties
App
object
Apps represent the core entities in the Cloud Foundry environment. They are the deployable units that run your code. Each app can have multiple processes, rout…
AppList
object
3 properties
AppEnvironment
object
Environment variables that will be provided to an app at runtime
5 properties
AppEnvironmentVariables
object
App environment variables with links
2 properties
AppPermissions
object
User permissions for an app
2 properties 2 required
AppSshEnabled
object
SSH enabled status for an app
2 properties 1 required
Route
object
A route in Cloud Foundry is used to direct traffic from a URL to an application.
RouteDestination
object
A route destination is a specification for where traffic on a route should be directed.
9 properties
RouteDestinationList
object
A list of route destinations
2 properties
Job
object
Jobs are created by the platform when performing certain asynchronous actions. Asynchronous jobs are commonly used for long-running tasks such as uploading lar…
Error
object
3 properties
Warning
object
1 property
AppUsageEvent
object
App usage events are a record of changes in the usage of apps and tasks. Examples include starting an application, scaling an application (from, say, one to th…
9 properties
AppUsageEventList
object
2 properties
IsolationSegment
object
An isolation segment provides a dedicated pool of compute resources for an organization or space.
IsolationSegmentList
object
2 properties
Organization
object
An org is a development account that an individual or multiple collaborators can own and use. All collaborators access an org with user accounts. Collaborators…
OrganizationList
object
A paginated list of organizations
2 properties
OrganizationQuota
object
Organization quotas are named sets of memory, log rate, service, and instance usage quotas. For example, one organization quota might allow up to 10 services,…
OrganizationQuotaList
object
A paginated list of organization quotas
Package
object
A package represents an application"s "source code" - either raw bits or a pointer to these bits. Packages are used to create builds, which result in a droplet…
PackageList
object
2 properties
Process
object
A process defines the runnable units of an app
ProcessList
A list of processes
ProcessStats
object
Statistics for a process
1 property
SecurityGroup
object
ServiceBroker
object
AppCredentialBinding
object
KeyCredentialBinding
object
ManagedServiceInstance
object
UserProvidedServiceInstance
object
ServicePlanVisibility
object
2 properties 1 required
ServiceRouteBinding
object
Sidecar
object
SpaceQuota
object
Space
object
Stack
object
IndexLink
Each link is keyed by its type and will include a href for the URL and an optional method for links that cannot be followed using GET. Can include a meta objec…
Errors
object
An error response will always return a list of error objects. Errors appear on the job resource for asynchronous operations. Clients should use the code and ti…
1 property
ServiceOffering
object
ServiceInstanceLastOperation
object
The last operation object for service instances
5 properties
BuildUpdate
object
7 properties
ResourceMatch
object
1 property
Revision
object
An App Revision is an immutable snapshot of an app at a particular point in time. Revisions are identified by a sequential version number. The "current" revisi…
RevisionList
object
2 properties
Role
object
Roles represent a set of permissions that can be granted to users. Roles are represented as a JSON object. A role consists of several required role fields and…
4 properties
SecurityGroupList
object
2 properties
SecurityGroupCreate
object
4 properties 1 required
SecurityGroupUpdate
object
4 properties
ServiceBrokerList
object
2 properties
ServiceCredentialBindingLastOperation
object
The last operation object for service credential bindings
5 properties
ServiceCredentialBindingList
object
3 properties
ServiceInstanceList
object
2 properties
ServiceOfferingList
object
2 properties
ServicePlan
object
ServicePlanList
object
3 properties
ServiceRouteBindingList
object
3 properties
ServiceRouteBindingCreate
object
3 properties 1 required
ServiceUsageEvent
object
ServiceUsageEventList
object
2 properties
SidecarList
object
2 properties
SpaceList
object
3 properties
SpaceFeature
object
3 properties
UserList
object
2 properties
SpaceQuotaList
object
2 properties
StackList
object
2 properties
Task
object
A task is a one-off process that can be run in the Cloud Foundry environment.
TaskList
object
2 properties
HealthCheck
object
Health check configuration for a process
2 properties
RouteList
object
A list of routes
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

cloud-foundry-capi-v3-openapi.yaml Raw ↑

Other APIs Cloud Foundry publishes across the network.

Cloud Foundry UAA
Cloud Foundry Loggregator
Open Service Broker API
BOSH Director API
Cloud Foundry Apps API
Cloud Foundry Builds API
Cloud Foundry Cloud Foundry Cloud Controller API V3 API
Cloud Foundry Deployments API
Cloud Foundry Jobs API
Cloud Foundry Organizations API
Cloud Foundry Service Instances API
Cloud Foundry Spaces API
Where this information came from

This is an independent, third-party profile of Cloud Foundry Cloud Controller API v3, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.