openapi: 3.2.0 info: title: Open Service Broker Service Bindings API description: The Open Service Broker API defines an HTTP(S) interface between Platforms and Service Brokers. license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html contact: name: Open Service Broker API url: https://www.openservicebrokerapi.org/ email: open-service-broker-api@googlegroups.com version: master - might contain changes that are not yet released servers: - url: http://example.com description: Broker Endpoint - url: http://localhost:3000 description: OSB Checker - MockOSB security: - basicAuth: [] tags: - name: ServiceBindings paths: /v2/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation: get: summary: get the last requested operation state for service binding tags: - ServiceBindings operationId: serviceBinding.lastOperation.get parameters: - $ref: '#/components/parameters/APIVersion' - name: instance_id in: path description: instance id of instance to find last operation applied to it required: true schema: type: string - name: binding_id in: path description: binding id of service binding to find last operation applied to it required: true schema: type: string - name: service_id in: query description: id of the service associated with the instance schema: type: string - name: plan_id in: query description: id of the plan associated with the instance schema: type: string - name: operation in: query description: a provided identifier for the operation schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LastOperationResource' headers: Retry-After: description: Indicates when to retry the request required: false schema: type: string '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '410': description: Gone content: application/json: schema: $ref: '#/components/schemas/Error' /v2/service_instances/{instance_id}/service_bindings/{binding_id}: put: summary: generate a service binding tags: - ServiceBindings operationId: serviceBinding.binding parameters: - $ref: '#/components/parameters/APIVersion' - $ref: '#/components/parameters/OriginatingIdentity' - name: instance_id in: path description: instance id of instance to create a binding on required: true schema: type: string - name: binding_id in: path description: binding id of binding to create required: true schema: type: string - name: accepts_incomplete in: query description: asynchronous operations supported schema: type: boolean requestBody: description: parameters for the requested service binding required: true content: application/json: schema: $ref: '#/components/schemas/ServiceBindingRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceBindingResponse' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ServiceBindingResponse' '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AsyncOperation' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' delete: summary: deprovision a service binding tags: - ServiceBindings operationId: serviceBinding.unbinding parameters: - $ref: '#/components/parameters/APIVersion' - $ref: '#/components/parameters/OriginatingIdentity' - name: instance_id in: path description: id of the instance associated with the binding being deleted required: true schema: type: string - name: binding_id in: path description: id of the binding being deleted required: true schema: type: string - name: service_id in: query description: id of the service associated with the instance for which a binding is being deleted required: true schema: type: string - name: plan_id in: query description: id of the plan associated with the instance for which a binding is being deleted required: true schema: type: string - name: accepts_incomplete in: query description: asynchronous operations supported schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Object' '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AsyncOperation' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '410': description: Gone content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' get: summary: get a service binding tags: - ServiceBindings operationId: serviceBinding.get parameters: - $ref: '#/components/parameters/APIVersion' - $ref: '#/components/parameters/OriginatingIdentity' - name: instance_id in: path description: instance id of instance associated with the binding required: true schema: type: string - name: binding_id in: path description: binding id of binding to fetch required: true schema: type: string - name: service_id in: query description: id of the service associated with the instance schema: type: string - name: plan_id in: query description: id of the plan associated with the instance schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceBindingResource' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: ServiceBindingResponse: type: object properties: metadata: $ref: '#/components/schemas/ServiceBindingMetadata' credentials: $ref: '#/components/schemas/Object' syslog_drain_url: type: string route_service_url: type: string volume_mounts: type: array items: $ref: '#/components/schemas/ServiceBindingVolumeMount' endpoints: type: array items: $ref: '#/components/schemas/ServiceBindingEndpoint' Error: description: See [Service Broker Errors](https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#service-broker-errors) for more details. type: object properties: error: type: string description: type: string instance_usable: type: boolean update_repeatable: type: boolean ServiceBindingVolumeMount: type: object required: - driver - container_dir - mode - device_type - device properties: driver: type: string container_dir: type: string mode: type: string enum: - r - rw device_type: type: string enum: - shared device: $ref: '#/components/schemas/ServiceBindingVolumeMountDevice' LastOperationResource: type: object required: - state properties: state: type: string enum: - in progress - succeeded - failed description: type: string instance_usable: type: boolean update_repeatable: type: boolean ServiceBindingVolumeMountDevice: type: object required: - volume_id properties: volume_id: type: string mount_config: $ref: '#/components/schemas/Object' device_config: $ref: '#/components/schemas/Object' ServiceBindingMetadata: type: object properties: expires_at: type: string renew_before: type: string Context: description: See [Context Conventions](https://github.com/openservicebrokerapi/servicebroker/blob/master/profile.md#context-object) for more details. type: object AsyncOperation: type: object properties: operation: type: string Object: type: object ServiceBindingResource: type: object properties: metadata: $ref: '#/components/schemas/ServiceBindingMetadata' credentials: $ref: '#/components/schemas/Object' syslog_drain_url: type: string route_service_url: type: string volume_mounts: type: array items: $ref: '#/components/schemas/ServiceBindingVolumeMount' endpoints: type: array items: $ref: '#/components/schemas/ServiceBindingEndpoint' parameters: $ref: '#/components/schemas/Object' ServiceBindingRequest: type: object required: - service_id - plan_id properties: context: $ref: '#/components/schemas/Context' service_id: type: string plan_id: type: string app_guid: type: string deprecated: true bind_resource: $ref: '#/components/schemas/ServiceBindingResouceObject' parameters: $ref: '#/components/schemas/Object' predecessor_binding_id: type: string ServiceBindingEndpoint: type: object required: - host - ports properties: host: type: string ports: type: array items: type: string protocol: type: string enum: - tcp - udp - all default: tcp ServiceBindingResouceObject: type: object properties: app_guid: type: string route: type: string parameters: APIVersion: name: X-Broker-API-Version in: header description: version number of the Service Broker API that the Platform will use required: true schema: type: string default: '2.13' OriginatingIdentity: name: X-Broker-API-Originating-Identity in: header description: identity of the user that initiated the request from the Platform schema: type: string securitySchemes: basicAuth: type: http scheme: basic externalDocs: description: The official Open Service Broker API specification url: https://github.com/openservicebrokerapi/servicebroker/