IBM Cloud Open Service Broker API

Beta

IBM Cloud Open Service Broker API

+ Day(s) remaining in the trial

Overview

Contribute resources to the IBM Cloud catalog by implementing a service broker that conforms to the [Open Service Broker API] version 2.12 (https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md) specification and provides enablement extensions for integration with IBM Cloud and the Resource Controller provisioning model.

Security

Keys

Pick a key to use with this API. Make sure you are logged in with your IBM id for your keys to be populated in the dropdown below. By selecting a key, it will be pre-filled for each endpoint in the Documentation section that can be used with the built-in testing. If you want to change which key to use for a particular endpoint, you can do so at the endpoint in the Documentation section.
You can manage your API keys in the <MyAPIs> section. API keys authenticate you to your subscription, so make sure to keep them secret. Do not share the X-IBM-Client-Secret portion of any API key in publicly accessible places such as GitHub, or client-side code.



Manage your keys
 

Documentation

IBM Cloud Open Service Broker API:

Bindings and Credentials

Bindings and Credentials
/v2/service_instances/{instance_id}/service_bindings/{binding_id}
Delete instance binding by GUID. When a broker receives an unbind request from the IBM Cloud platform, it MUST delete any resources associated with the binding. In the case where credentials were generated, this might result in requests to the service instance failing to authenticate. **Note**: Brokers that do not provide any bindable services or plans do not need to implement this endpoint.

DELETE   /v2/service_instances/{instance_id}/service_bindings/{binding_id}

			https://$(catalog.host)/v2/service_instances/{instance_id}/service_bindings/{binding_id}
		
Keys
Path and Query parameters

binding_id

URL , required

The `binding_id` is the ID of a previously provisioned binding for that service instance.

instance_id

URL , required

The `instance_id` is the ID of a previously provisioned service instance.

plan_id

STRING , required

ID of the plan from the catalog.json in the broker. MUST be a non-empty string. Should be a GUID.

service_id

STRING , required

ID of the service from the catalog.json in the broker. MUST be a non-empty string. Should be a GUID.

Request code
								
HttpResponse<String> response = Unirest.delete("https:///$(catalog.host)/v2/service_instances/{instance_id}/service_bindings/{binding_id}?plan_id=string&service_id=string") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "Basic REPLACE_BASIC_AUTH") .asString();
Response model

200

OK - MUST be returned if the binding was deleted as a result of this request. The expected response body is {}.

Body

410

Gone - MUST be returned if the binding does not exist. The expected response body is {}.

Body

Response example

200

OK - MUST be returned if the binding was deleted as a result of this request. The expected response body is {}.

								
							

410

Gone - MUST be returned if the binding does not exist. The expected response body is {}.

								
							
/v2/service_instances/{instance_id}/service_bindings/{binding_id}
Create binding by GUID on service instance. If your service can be bound to applications in IBM Cloud, `bindable:true` must be specified in the catalog.json of your service broker. If bindable, it must be able to return API endpoints and credentials to your service consumers. **Note:** Brokers that do not offer any bindable services do not need to implement the endpoint for bind requests. See the OSB 2.12 spec for more details on [binding](https://github.com/openservicebrokerapi/servicebroker/blob/v2.12/spec.md#binding)

PUT   /v2/service_instances/{instance_id}/service_bindings/{binding_id}

			https://$(catalog.host)/v2/service_instances/{instance_id}/service_bindings/{binding_id}
		
Keys
Path and Query parameters

binding_id

URL , required

The `binding_id` is provided by the IBM Cloud platform. This ID will be used for future unbind requests, so the broker will use it to correlate the resource it creates.

instance_id

URL , required

The :`instance_id` is the ID of a previously provisioned service instance.

Request code
								
HttpResponse<String> response = Unirest.put("https:///$(catalog.host)/v2/service_instances/{instance_id}/service_bindings/{binding_id}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "Basic REPLACE_BASIC_AUTH") .body("{\"bind_resource\":{\"description\":\"A JSON object that contains data for platform resources associated with the binding to be created.\",\"items\":{\"properties\":{\"account_id\":{\"example\":\"null\",\"type\":\"string\"},\"serviceid_crn\":{\"example\":\"null\",\"type\":\"string\"},\"target_crn\":{\"example\":\"null\",\"type\":\"string\"}},\"type\":\"object\"},\"type\":\"object\"},\"parameters\":{\"description\":\"Configuration options for the service binding.\",\"example\":\"null\",\"type\":\"object\"},\"plan_id\":\"null\",\"service_id\":\"null\"}") .asString();
Request model

bind_resource

OBJECT , optional

A JSON object that contains data for platform resources associated with the binding to be created.

parameters

OBJECT , optional

Configuration options for the service binding.

plan_id

STRING , optional

ID of the plan from the catalog.json in your broker. If present, MUST be a non-empty string

service_id

STRING , optional

ID of the service from the catalog.json in your broker. If present, MUST be a non-empty string

Request example
{
  "bind_resource": object,
  "parameters": "null",
  "plan_id": "null",
  "service_id": "null"
}
Response model

200

OK - MUST be returned if the binding already exists and the requested parameters are identical to the existing binding.

Body

422

Unprocessable Entity

Body

Response example

200

OK - MUST be returned if the binding already exists and the requested parameters are identical to the existing binding.

								
							

422

Unprocessable Entity

								
							

Loading content...

Resources