Introduction

IBM® Cloud Foundry Enterprise Environment (CFEE) allows you to instantiate multiple, isolated, enterprise-grade Cloud Foundry platforms on-demand. CFEE instances run within your own account in the IBM Cloud. The environment is deployed on isolated hardware (Kubernetes clusters). You have full control over the environment, including access control, capacity, version updates, resource usage and monitoring. Furthermore, CFEE integration into the IBM Cloud allows developers to leverage services available in their IBM Cloud account. Users can add those services to a CFEE and bind them to applications deployed into CFEE spaces. For more information see the CFEE documentation (hyperlink "documentation" to https://cloud.ibm.com/docs/cloud-foundry?topic=cloud-foundry-about#about).

The CFEE Admin API implements the functionality available to users in the CFEE user interface and the IBM Cloud CLI. The API is built using the golang runtime, and handles caching, async calls, interaction with the UI/CLI, CF SSO, Authorization etc. The CFEE Admin API also interacts with the IBM Cloud platform, all Cloud Foundry instances, and the cf-admin-agent (which is provisioned in the CFEE instance and provides information about the instance to the CFEE management control plane).

Error handling

This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response always indicates success. A 400 type response is some sort of failure, and a 500 type response usually indicates an internal system error.

Methods

Get environments

Get environments

GET /environments
Request

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get specific environment

Get specific environment

GET /environments/{envID}
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Returns environment stats.

Returns environment stats.

GET /environments/{envID}/stats
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

Returns Organization stats.

Returns Organization stats.

GET /environments/{envID}/organization/{orgID}/stats
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

  • The ID of the Cloud Foundry organization to use when obtaining stats

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

Create an organization

Creates an organization and onboards all members of the organization if not onboarded already

POST /environments/{envID}/cf/organizations
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Organization information. User Info contains arrays of IBM IDs.

Response

Status Code

  • Successfully created the specified organization

  • Unauthorized.

  • Permission Denied

No Sample Response

This method does not specify any sample responses.

Add users to an org

Add users to the specified organization and onboards them if not onboarded already

POST /environments/{envID}/cf/organizations/{orgID}/users
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

  • The id of the organization

Users to add to the organization along with their designated roles. The users array is required.

Response

Status Code

  • Successfully added the specified users

  • Unauthorized.

  • Permission Denied

No Sample Response

This method does not specify any sample responses.

Change the roles of one or more users in an organization

Change the roles (billing manager, manager, and/or auditor) of one or more users in an organization

PUT /environments/{envID}/cf/organizations/{orgID}/users/roles
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

  • The ID of the organization

Object to post

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

  • Organization or User was not found.

No Sample Response

This method does not specify any sample responses.

Change the roles of one or more users in an organization by email

Change the roles (billing manager, manager, and/or auditor) of one or more users in an organization by email

PUT /environments/{envID}/cf/organizations/{orgID}/users/roles/by-id
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

  • The ID of the organization

Object to post

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

  • Organization or User was not found.

No Sample Response

This method does not specify any sample responses.

Adds users to space

Adds users to a designated space by onboarding the user to the environment if not done already

POST /environments/{envID}/cf/spaces/{spaceID}/users
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

  • The ID of the Cloud Foundry space

Query Parameters

  • The account containing the specified environment, is different than the account in the request bearer token.

Space information.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

Set user space roles

Set user space roles (auditor, developer, and/or manager)

PUT /environments/{envID}/cf/spaces/{spaceID}/users/roles
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

  • The ID of the Cloud Foundry space

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Space role information.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

Create space

Create space

POST /environments/{envID}/cf/spaces
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Space information.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

Get the user info for a particular user.

Get the user info for a particular user that is registered in this environment.

GET /environments/{envID}/cf/user
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • User ID. May be email address or IBM ID (e.g. IBMid-5036PHB8D9). Must supply either the userID or the userGUID parameter

  • User GUID. The User GUID in the environment's UAA system. Must supply either the userID or the userGUID parameter

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Administrator or Editor role to see the users in this CFEE environment.

  • The requested environment was not found in the specified account or the user for the search is not registered in the environment.

No Sample Response

This method does not specify any sample responses.

GET Passthrough - valid GET CF API paths can be appended

GET passthrough for CF API, which can be appended after the /v2. Examples: /environments/{envID}/cf/v2/info, /environments/{envID}/cf/v2/organizations. Docs: https://apidocs.cloudfoundry.org/4.0.0/

GET /environments/{envID}/cf/v2
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Administrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

PUT Passthrough - valid PUT CF API paths can be appended

PUT passthrough for CF API, which can be appended after the /v2. Examples: /environments/{envID}/cf/v2/organizations/:organization_guid. Docs: https://apidocs.cloudfoundry.org/4.0.0/

PUT /environments/{envID}/cf/v2
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Administrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

POST Passthrough - valid POST CF API paths can be appended

POST passthrough for CF API, which can be appended after the /v2. Examples: /environments/{envID}/cf/v2/organizations. Docs: https://apidocs.cloudfoundry.org/4.0.0/

POST /environments/{envID}/cf/v2
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Administrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

DELETE Passthrough, - valid DELETE CF API paths can be appended

DELETE passthrough for CF API, which can be appended after the /v2. Examples: /environments/{envID}/cf/v2/apps/:app_guid. Docs: https://apidocs.cloudfoundry.org/4.0.0/

DELETE /environments/{envID}/cf/v2
Request

Path Parameters

  • The ID of the Cloud Foundry environment to access

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

  • The requested environment was not found in the specified account

No Sample Response

This method does not specify any sample responses.

Returns all public services for the current user and account

Returns all public services for the current user and account

GET /services
Request

Query Parameters

  • The account containing the specified environment, if different than the account in the request bearer token.

Response

Status Code

  • Successful result.

  • Unauthorized

  • Permission Denied: You must have an Adminstrator or Editor role to create a catalog entry.

No Sample Response

This method does not specify any sample responses.

Create a new service alias to a CFEE instance

Link a public service with a service instance in a CFEE space

POST /environments/{envID}/alias
Request

Path Parameters

  • The ID of the CFEE environment

Object to post

Response

Status Code

  • Successful alias creation

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Delete a service alias from a CFEE instance and all of its bindings

Remove a Linked a public service from a service instance in a CFEE space and all bindings

DELETE /environments/{envID}/alias
Request

Path Parameters

  • The ID of the CFEE environment

Query Parameters

  • Public service instance crn - same as resource on the dashboard url

  • The CF instance service GUID pointed to by the alias

Response

Status Code

  • Successful alias removal

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Bind a linked / aliased service to a CFaaS application

Bind Link a public service with a CFaaS application

POST /environments/{envID}/binding
Request

Path Parameters

  • The ID of the CFEE environment

Object to post

Response

Status Code

  • Successful binding creation

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Delete a binding from a CFEE instance

Remove a linked a public service binding from and apllication in a CFEE space

DELETE /environments/{envID}/binding
Request

Path Parameters

  • The ID of the CFEE environment

Query Parameters

  • The CF binding GUID

  • The public service instance CRN .. same as CF dashboard url

Response

Status Code

  • Successful binging removal

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get custom domains for environment

Get custom domains for environment

GET /environments/{envID}/domains
Request

Path Parameters

  • The ID of the environment

Query Parameters

  • Domain type. Must be 'shared' or 'private'. Private domains are private to a specific org.

  • The guid of organization. Required only for private domains.

Response

Status Code

  • Successful response

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Create custom domain for environment

Create custom domain for environment

POST /environments/{envID}/domains
Request

Path Parameters

  • The ID of the environment

New Domain Information

Response

Status Code

  • Created

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Delete custom domains for environment

Delete custom domains for environment

DELETE /environments/{envID}/domains/{domain}
Request

Path Parameters

  • The ID of the environment

  • The domain name to delete

Query Parameters

  • The GUID of the domain name to delete

  • The type of the domain to be deleted. Must be 'shared' or 'private'

Response

Status Code

  • Deleted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get custom domain certificate for a domain

Get custom domains for environment

GET /environments/{envID}/domains/{domain}/cert
Request

Path Parameters

  • The ID of the environment

  • The domain name

Response

Status Code

  • Successful response

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Disable TLS and remove TLS certificate and private key for a domain

Disable TLS and remove TLS certificate and private key for a domain

DELETE /environments/{envID}/domains/{domain}/cert
Request

Path Parameters

  • The ID of the environment

  • The domain name to delete

Query Parameters

  • The type of the cert's domain to be deleted. Must be 'shared' or 'private'

  • If private domain, provide the name of the owning organization.

Response

Status Code

  • Deleted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Enable TLS by providing TLS certificate and private key

Enable TLS by providing TLS certificate and private key

POST /environments/{envID}/domains/cert
Request

Path Parameters

  • The ID of the environment

New Domain Information

Response

Status Code

  • Created

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get audit logging configuration for environment

Get audit logging configuration for environment. Note that the environment configuration is still being updated if the status field contains the word 'waiting'.

GET /environments/{envID}/auditing/activity-tracker
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

  • Environment is not configured for auditing

No Sample Response

This method does not specify any sample responses.

Set audit logging configuration for environment

Set audit logging configuration for environment

POST /environments/{envID}/auditing/activity-tracker
Request

Path Parameters

  • The ID of the environment

Logging Configuration

Response

Status Code

  • Successful request

  • Specified Service could not be configured

  • Unauthorized

  • No Permissions

  • Conflict

No Sample Response

This method does not specify any sample responses.

Delete audit logging configuration for environment

Delete audit logging configuration for environment

DELETE /environments/{envID}/auditing/activity-tracker
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful delete

  • Bad request

  • Unauthorized

  • No Permissions

  • Conflict

No Sample Response

This method does not specify any sample responses.

Get CF logging configuration for environment

Get CF logging configuration for environment. Note that the environment configuration is still being updated if the status field contains the word 'waiting'.

GET /environments/{envID}/logging/log-analysis
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

  • Environment is not configured for logging

No Sample Response

This method does not specify any sample responses.

Set CF logging configuration for environment

Set CF logging configuration for environment

POST /environments/{envID}/logging/log-analysis
Request

Path Parameters

  • The ID of the environment

Logging Configuration

Response

Status Code

  • Successful request

  • Specified Service could not be configured

  • Unauthorized

  • No Permissions

  • Conflict

No Sample Response

This method does not specify any sample responses.

Delete CF logging configuration for environment

Delete CF logging configuration for environment

DELETE /environments/{envID}/logging/log-analysis/guid
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful delete

  • Bad request

  • Unauthorized

  • No Permissions

  • Conflict

No Sample Response

This method does not specify any sample responses.

Get Stratos CF configuration for environment

Get Stratos CF configuration for environment. Note that the environment is still being configured if the last_operation.state field contains 'in progress'.

GET /environments/{envID}/stratos/cf
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

  • Environment is not configured for Stratos CF

No Sample Response

This method does not specify any sample responses.

Set Stratos CF configuration for environment

Set Stratos CF configuration for environment

POST /environments/{envID}/stratos/cf
Request

Path Parameters

  • The ID of the environment

Stratos CF Configuration

Response

Status Code

  • Successful request

  • Specified Service could not be configured

  • Unauthorized

  • No Permissions

  • Conflict

No Sample Response

This method does not specify any sample responses.

Get Stratos Kubernetes configuration for environment

Get Stratos Kubernetes configuration for environment. Note that the environment configuration is still being updated if the message field contains the word 'waiting'.

GET /environments/{envID}/stratos/kubernetes
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

  • Environment is not configured for stratos

  • Conflict

No Sample Response

This method does not specify any sample responses.

Set Stratos Kubernetes configuration for environment

Set Stratos Kubernetes configuration for environment

POST /environments/{envID}/stratos/kubernetes
Request

Path Parameters

  • The ID of the environment

Logging Configuration

Response

Status Code

  • Successful request

  • Specified Service could not be configured

  • Unauthorized

  • No Permissions

  • Conflict

No Sample Response

This method does not specify any sample responses.

Delete Stratos Kubernetes configuration for environment

Delete Stratos Kubernetes configuration for environment

DELETE /environments/{envID}/stratos/kubernetes
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful delete

  • Expected query parameters are not found

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get CFEE Healthcheck information for environment

Get CFEE Healthcheck information for environment

GET /environments/{envID}/healthcheck
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get Alert Manager configuration for the environment

Get Alert Manager configuration for the environment

GET /environments/{envID}/monitoring/configuration/alert-manager
Request

Path Parameters

  • The ID of the environment

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Set Alert Manager configuration for the environment

Set Alert Manager configuration for the environment

PUT /environments/{envID}/monitoring/configuration/alert-manager
Request

Path Parameters

  • The ID of the environment

Alert Manager Configuration

Response

Status Code

  • Created

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Get Monitoring conifguration for the environment

Get Monitoring conifguration for the environment

GET /environments/{envID}/monitoring
Request

Path Parameters

  • The ID of the environment

Authorization information

Response

Status Code

  • Successful response

  • Successful response - Never enabled

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Enable monitoring for the environment

Enable monitoring for the environment

POST /environments/{envID}/monitoring
Request

Path Parameters

  • The ID of the environment

Authorization information

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Remove monitoring from the environment

Remove monitoring from the environment

DELETE /environments/{envID}/monitoring
Request

Path Parameters

  • The ID of the environment

Authorization information

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Retrieves latest CFEE version available

Retrieves latest CFEE version available

GET /cfee/versions/current
Request

Custom Headers

  • IAM Authorization token

Response

Status Code

  • Successful response

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Retrieves information about control plane nodes of the environment

Retrieves information about control plane nodes of the environment

GET /environments/{envID}/control-plane
Request

Custom Headers

  • IAM Authorization token

  • Your IBM Cloud Identity and Access Management (IAM) refresh token. To retrieve your IAM refresh token, run cat ~/.bluemix/config.json.

Path Parameters

  • The ID of the environment

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Starts an update of a CFEE

Starts an update of a CFEE

PUT /environments/{envID}/control-plane
Request

Path Parameters

  • The ID of the environment

Authorization information

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Starts an update of a CFEE's cells.

Starts an update of a CFEE's cells. For CFEEs greater than or equal to version 2.0.0, this API has been deprecated and PUT /environments/{envID}/control-plane is used instead.

PUT /environments/{envID}/cells
Request

Path Parameters

  • The ID of the environment

Authorization information

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Retrieves information about cells of the environment

Retrieves information about cells of the environment

GET /environments/{envID}/cells
Request

Custom Headers

  • IAM Authorization token

Path Parameters

  • The ID of the environment

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Adds cells across each zone the CFEE is deployed

Adds cells across each zone the CFEE is deployed

POST /environments/{envID}/cells
Request

Path Parameters

  • The ID of the environment

body specifying scale up the number of new cells for the given CFEE. In the case of a multi-zone CFEE, it is the number of new cells per zone.

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Delete cells across each zone the CFEE is deployed

Delete cells across each zone the CFEE is deployed

DELETE /environments/{envID}/cells
Request

Path Parameters

  • The ID of the environment

Query Parameters

  • number of cells to remove from the given cfee. In multi-zone CFEE, it is the number of cells to remove from each zone.

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Provision new CFEE environment

Provison new CFEE environment

POST /provision
Request

Provision Body

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.

Delete a particular CFEE environment

Delete a particular CFEE environment

DELETE /environments/{envID}/provision
Request

Path Parameters

  • The ID of the environment

Authorization information

Response

Status Code

  • Accepted

  • Unauthorized

  • No Permissions

No Sample Response

This method does not specify any sample responses.