openapi: 3.2.0 info: title: Cloud Foundry V3 Service Plans API description: '# Welcome to the Experimental Cloud Foundry V3 API Docs!' version: latest license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html contact: name: Cloud Foundry url: https://www.cloudfoundry.org/ servers: - url: https://api.example.local description: Cloud Foundry V3 API server security: - oauth: - cloud_controller.read - cloud_controller.write tags: - name: Service Plans description: Service plans are plans for a service. paths: /v3/service_plans: get: summary: List service plans description: This endpoint retrieves the service plans the user has access to. operationId: listServicePlans tags: - Service Plans parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/OrderBy' - name: names in: query schema: type: array items: type: string description: Comma-delimited list of service plan names to filter by - name: available in: query schema: type: boolean description: Filter by the `available` property; valid values are `true` or `false` - name: service_offering_guids in: query schema: type: array items: type: string description: Comma-delimited list of service offering guids to filter by - name: service_instance_guids in: query schema: type: array items: type: string description: Comma-delimited list of service instance guids to filter by - name: space_guids in: query schema: type: array items: type: string description: Comma-delimited list of space guids to filter by - name: organization_guids in: query schema: type: array items: type: string description: Comma-delimited list of organization guids to filter by - name: broker_catalog_ids in: query schema: type: array items: type: string description: Comma-delimited list of broker catalog IDs to filter by - name: service_broker_guids in: query schema: type: array items: type: string description: Comma-delimited list of service broker GUIDs to filter by - name: service_broker_names in: query schema: type: array items: type: string description: Comma-delimited list of service broker names to filter by - name: service_offering_names in: query schema: type: array items: type: string description: Comma-delimited list of service offering names to filter by - name: include in: query schema: type: array items: type: string enum: - space.organization - service_offering description: Optionally include a list of unique related resources in the response - $ref: '#/components/parameters/LabelSelector' - name: fields in: query schema: type: object description: Fields to include in the response - $ref: '#/components/parameters/CreatedAts' - $ref: '#/components/parameters/UpdatedAts' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePlanList' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/BadGateway' '503': $ref: '#/components/responses/ServiceUnavailable' /v3/service_plans/{guid}: get: summary: Get a service plan description: This endpoint retrieves the service plan by GUID. operationId: getServicePlan tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' - name: include in: query schema: type: array items: type: string enum: - space.organization - service_offering description: Optionally include a list of unique related resources in the response responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePlan' examples: default: summary: default value: guid: 123e4567-e89b-12d3-a456-426614174000 name: my_big_service_plan description: Big visibility_type: public available: true free: false costs: - currency: USD amount: 199.99 unit: Monthly created_at: '2019-11-28T13:44:02Z' updated_at: '2019-11-28T13:44:02Z' maintenance_info: version: 1.0.0+dev4 description: Database version 7.8.0 broker_catalog: id: db730a8c-11e5-11ea-838a-0f4fff3b1cfb metadata: custom-key: custom-information maximum_polling_duration: null features: plan_updateable: true bindable: true schemas: service_instance: create: parameters: $schema: http://json-schema.org/draft-04/schema# type: object properties: billing-account: description: Billing account number used to charge use of shared fake server. type: string update: parameters: {} service_binding: create: parameters: {} relationships: service_offering: data: guid: 123e4567-e89b-12d3-a456-426614174000 metadata: labels: {} annotations: {} links: self: href: https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9 service_offering: href: https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7 visibility: href: https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: summary: Update a service plan description: This endpoint updates a service plan with labels and annotations. operationId: updateServicePlan tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' requestBody: content: application/json: schema: properties: metadata: $ref: '#/components/schemas/Metadata' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePlan' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/ServiceUnavailable' delete: summary: Delete a service plan description: 'This endpoint deletes a service plan. This is used to remove service plans from the Cloud Foundry database when they are no longer provided by the service broker.' operationId: deleteServicePlan tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/500' /v3/service_plans/{guid}/visibility: get: summary: Get a service plan visibility description: This endpoint retrieves the service plan visibility for a given plan. operationId: getServicePlanVisibility tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePlanVisibility' examples: default: summary: default value: type: public '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: summary: Update a service plan visibility description: This endpoint updates a service plan visibility. It behaves similar to the POST service plan visibility endpoint but this endpoint will replace the existing list of organizations when the service plan is `organization` visible. operationId: updateServicePlanVisibility tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' requestBody: $ref: '#/components/requestBodies/ServicePlanVisibilityUpdateRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePlanVisibility' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' post: summary: Apply a service plan visibility description: This endpoint applies a service plan visibility. It behaves similar to the PATCH service plan visibility endpoint but this endpoint will append to the existing list of organizations when the service plan is `organization` visible. operationId: applyServicePlanVisibility tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' requestBody: $ref: '#/components/requestBodies/ServicePlanVisibilityCreateRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServicePlanVisibility' examples: default: summary: default value: type: organization '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/ServiceUnavailable' /v3/service_plans/{guid}/visibility/{organization_guid}: delete: summary: Remove organization from a service plan visibility description: This endpoint removes an organization from a service plan visibility list of organizations. It is only defined for service plans which are org-restricted. It will fail with a HTTP status code of 422 for any other visibility type (e.g. Public). operationId: removeOrganizationFromServicePlanVisibility tags: - Service Plans parameters: - $ref: '#/components/parameters/Guid' - name: organization_guid in: path required: true schema: type: string format: uuid responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' components: schemas: Link: type: object properties: href: type: string description: The URL of the link method: type: string description: An optional field containing the HTTP method to be used when following the URL required: - href description: '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. ' Relationship: type: object properties: guid: type: string format: uuid description: The GUID of the resource Error: type: object properties: code: type: integer description: A numeric code for this error detail: type: string description: Detailed description of the error title: type: string description: Name of the error Domain: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: name: type: string description: The name of the domain; must be between 3 ~ 253 characters and follow [RFC 1035](https://tools.ietf.org/html/rfc1035) internal: type: boolean description: Whether the domain is used for internal (container-to-container) traffic router_group: type: - object - 'null' properties: guid: type: string format: uuid description: The guid of the desired router group to route `tcp` traffic through; if set, the domain will only be available for `tcp` traffic supported_protocols: type: array items: type: string enum: - http - tcp description: Available protocols for routes using the domain, currently `http` and `tcp` relationships: $ref: '#/components/schemas/Relationships' metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this domain organization: $ref: '#/components/schemas/Link' description: The URL to get the organization for this domain route_reservations: $ref: '#/components/schemas/Link' description: The URL to get the route reservations for this domain shared_organizations: $ref: '#/components/schemas/Link' description: The URL to get the shared organizations for this domain router_group: $ref: '#/components/schemas/Link' description: The URL to get the router group for this domain description: '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 routes for spaces inside that organization, or be left unscoped to allow all organizations access. ' ServicePlanList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' resources: type: array items: $ref: '#/components/schemas/ServicePlan' included: $ref: '#/components/schemas/IncludedResources' description: Additional related resources included in the response when using the include parameter App: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: name: type: string description: The name of the app state: type: string description: Current desired state of the app enum: - STOPPED - STARTED lifecycle: $ref: '#/components/schemas/Lifecycle' description: Provides the default lifecycle object for the application. This lifecycle will be used when staging and running the application. The staging lifecycle can be overridden on builds relationships: $ref: '#/components/schemas/Relationships' metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this app space: $ref: '#/components/schemas/Link' description: The URL to get the space for this app processes: $ref: '#/components/schemas/Link' description: The URL to get the processes for this app packages: $ref: '#/components/schemas/Link' description: The URL to get the packages for this app environment_variables: $ref: '#/components/schemas/Link' description: The URL to get the environment variables for this app current_droplet: $ref: '#/components/schemas/Link' description: The URL to get the current droplet for this app droplets: $ref: '#/components/schemas/Link' description: The URL to get the droplets for this app tasks: $ref: '#/components/schemas/Link' description: The URL to get the tasks for this app start: $ref: '#/components/schemas/Link' description: The URL to start the app stop: $ref: '#/components/schemas/Link' description: The URL to stop the app revisions: $ref: '#/components/schemas/Link' description: The URL to get the revisions for this app deployed_revisions: $ref: '#/components/schemas/Link' description: The URL to get the deployed revisions for this app features: $ref: '#/components/schemas/Link' description: The URL to get the features for this app included: $ref: '#/components/schemas/IncludedResources' description: Additional related resources included in the response when using the include parameter description: '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, routes, and services associated with it. Apps can be scaled horizontally by increasing the number of instances. They can also be updated and restarted as needed. ' ServicePlanVisibility: type: object properties: type: type: string description: Type of visibility enum: - public - admin - organization - space organizations: type: array items: type: object properties: guid: type: string format: uuid description: Organization GUID name: type: string description: Organization name description: Organizations that have visibility to this service plan required: - type Errors: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' description: '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 title fields for programmatically handling specific errors. The message in the detail field is subject to change over time. ' Lifecycle: type: object properties: type: type: string description: Type of the lifecycle; valid values are buildpack, cnb, docker data: type: object additionalProperties: true description: Data specific to the lifecycle properties: buildpacks: type: array items: type: string description: List of the names of buildpacks, URLs from which they may be downloaded, or null to auto-detect a suitable buildpack during staging (applicable for buildpack and cnb lifecycles) stack: type: - string - 'null' description: The root filesystem to use with the buildpack, for example cflinuxfs4 (applicable for buildpack lifecycle) credentials: type: object additionalProperties: type: object properties: username: type: - string - 'null' password: type: - string - 'null' token: type: string description: Credentials used to download the configured buildpacks (applicable for cnb lifecycle) description: 'The lifecycle type defines how the application droplet is created and run. The following lifecycle types are supported: - buildpack: Traditional buildpacks for Cloud Foundry applications. - cnb: Cloud Native Buildpacks that are OCI-compliant. - docker: Run pre-built Docker images. ' RelationshipToOne: type: object properties: data: type: - object - 'null' $ref: '#/components/schemas/Relationship' links: type: object properties: self: $ref: '#/components/schemas/Link' related: $ref: '#/components/schemas/Link' description: 'Some relationships relate a resource to exactly one other resource. For example an app can belong to only one space. ' ServiceOffering: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: service_broker_guid: type: string service_broker_name: type: string metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this service offering service_plans: $ref: '#/components/schemas/Link' description: The URL to get the service plans for this offering service_broker: $ref: '#/components/schemas/Link' description: The URL to get the service broker for this offering Organization: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: name: type: string description: Name of the organization suspended: type: boolean description: Whether an organization is suspended or not; non-admins will be blocked from creating, updating, or deleting resources in a suspended organization relationships: type: object properties: quota: $ref: '#/components/schemas/RelationshipToOne' description: The quota applied to the organization metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this organization domains: $ref: '#/components/schemas/Link' description: The URL to get the domains for this organization quota: $ref: '#/components/schemas/Link' description: The URL to get the quota for this organization default_domain: $ref: '#/components/schemas/Link' description: The URL to get the default domain for this organization description: '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 in an org share a resource quota plan, applications, services availability, and custom domains. ' IncludedResources: type: object description: Additional related resources included in the response when using the include parameter properties: spaces: type: array items: $ref: '#/components/schemas/Space' description: Array of included space resources organizations: type: array items: $ref: '#/components/schemas/Organization' description: Array of included organization resources domains: type: array items: $ref: '#/components/schemas/Domain' description: Array of included domain resources service_offerings: type: array items: $ref: '#/components/schemas/ServiceOffering' description: Array of included service offering resources service_instances: type: array items: oneOf: - $ref: '#/components/schemas/ManagedServiceInstance' - $ref: '#/components/schemas/UserProvidedServiceInstance' discriminator: propertyName: type mapping: managed: '#/components/schemas/ManagedServiceInstance' user-provided: '#/components/schemas/UserProvidedServiceInstance' description: Array of included service instance resources apps: type: array items: $ref: '#/components/schemas/App' description: Array of included app resources routes: type: array items: $ref: '#/components/schemas/Route' description: Array of included route resources users: type: array items: $ref: '#/components/schemas/User' description: Array of included user resources additionalProperties: false Route: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: protocol: type: string host: type: string path: type: string port: type: - integer - 'null' url: type: string description: Fully qualified path or address where the route directs traffic relationships: $ref: '#/components/schemas/Relationships' metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this route space: $ref: '#/components/schemas/Link' description: The URL to get the space for this route domain: $ref: '#/components/schemas/Link' description: The URL to get the domain for this route destinations: $ref: '#/components/schemas/Link' description: The URL to get the destinations for this route included: $ref: '#/components/schemas/IncludedResources' description: Additional related resources included in the response when using the include parameter description: A route in Cloud Foundry is used to direct traffic from a URL to an application. ServicePlan: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: service_offering_guid: type: string service_offering_name: type: string metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this service plan service_offering: $ref: '#/components/schemas/Link' description: The URL to get the service offering for this plan visibility: $ref: '#/components/schemas/Link' description: The URL to get the visibility for this plan included: $ref: '#/components/schemas/IncludedResources' description: Additional related resources included in the response when using the include parameter Pagination: type: object properties: total_results: type: integer description: The total number of results available total_pages: type: integer description: The total number of pages available first: allOf: - $ref: '#/components/schemas/Link' - description: The first page of results last: allOf: - $ref: '#/components/schemas/Link' - description: The last page of results next: oneOf: - $ref: '#/components/schemas/Link' - type: 'null' description: The next page of results previous: oneOf: - $ref: '#/components/schemas/Link' - type: 'null' description: The previous page of results description: '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, reducing the amount of data transferred and improving performance. The pagination object is a JSON object that contains information about the pagination state of the results. It includes the total number of results available, the total number of pages available, and links to the first, last, next, and previous pages of results. ' Space: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: name: type: string description: Name of the space relationships: type: object properties: organization: $ref: '#/components/schemas/RelationshipToOne' quota: $ref: '#/components/schemas/RelationshipToOne' description: Relationships for the space links: type: object properties: self: $ref: '#/components/schemas/Link' organization: $ref: '#/components/schemas/Link' features: $ref: '#/components/schemas/Link' apply_manifest: $ref: '#/components/schemas/Link' metadata: $ref: '#/components/schemas/Metadata' included: $ref: '#/components/schemas/IncludedResources' description: Additional related resources included in the response when using the include parameter required: - name - relationships - links ManagedServiceInstance: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: type: type: string enum: - managed description: Type of service instance name: type: string description: Name of the service instance tags: type: array items: type: string description: Tags for the service instance syslog_drain_url: type: - string - 'null' format: uri description: URL for syslog drain route_service_url: type: - string - 'null' format: uri description: URL for route service dashboard_url: type: - string - 'null' format: uri description: URL for service dashboard maintenance_info: type: object properties: version: type: string description: Version of maintenance info description: type: - string - 'null' description: Description of maintenance info upgrade_available: type: boolean description: Whether an upgrade is available last_operation: $ref: '#/components/schemas/ServiceInstanceLastOperation' relationships: type: object properties: space: $ref: '#/components/schemas/RelationshipToOne' service_plan: $ref: '#/components/schemas/RelationshipToOne' description: Relationships for the service instance links: type: object properties: self: $ref: '#/components/schemas/Link' space: $ref: '#/components/schemas/Link' service_plan: $ref: '#/components/schemas/Link' parameters: $ref: '#/components/schemas/Link' service_credential_bindings: $ref: '#/components/schemas/Link' service_route_bindings: $ref: '#/components/schemas/Link' shared_spaces: $ref: '#/components/schemas/Link' metadata: $ref: '#/components/schemas/Metadata' required: - type - name - relationships - links UserProvidedServiceInstance: type: object allOf: - $ref: '#/components/schemas/BaseSchema' - properties: type: type: string enum: - user-provided description: Type of service instance name: type: string description: Name of the service instance tags: type: array items: type: string description: Tags for the service instance syslog_drain_url: type: - string - 'null' format: uri description: URL for syslog drain route_service_url: type: - string - 'null' format: uri description: URL for route service relationships: type: object properties: space: $ref: '#/components/schemas/RelationshipToOne' description: Relationships for the service instance links: type: object properties: self: $ref: '#/components/schemas/Link' space: $ref: '#/components/schemas/Link' service_credential_bindings: $ref: '#/components/schemas/Link' service_route_bindings: $ref: '#/components/schemas/Link' credentials: $ref: '#/components/schemas/Link' metadata: $ref: '#/components/schemas/Metadata' required: - type - name - relationships - links ServiceInstanceLastOperation: type: object properties: type: type: string description: Type of the last operation enum: - create - update - delete state: type: string description: State of the last operation enum: - initial - in progress - succeeded - failed description: type: - string - 'null' description: A textual explanation associated with this state created_at: type: string format: date-time description: When the last operation was created updated_at: type: string format: date-time description: When the last operation was last updated description: The last operation object for service instances Metadata: type: object properties: labels: type: object additionalProperties: type: - string - 'null' description: 'A set of key-value pairs that describe the resource. Labels are a JSON object that contains information about a resource. They are used to tag resources with metadata that can be used to filter and group resources. Labels are included in the response body of a request to retrieve a resource. Labels are user-specified key/value pairs that are attached to API Resources. They are queryable, identifying attributes of a resource, but they do not affect the operation of CloudFoundry. For example, an app may be assigned a label with key sensitive and possible values true or false. Users could then find all sensitive apps with a selector for sensitive=true, resulting in a response containing only apps having the label key sensitive with a label value of true. Labels Labels allow users to apply identifying attributes to resources that are meaningful to the user, but not the CloudFoundry system. Examples may include (but are not limited to): "production" : "true" or "production" : "false" "env" : "dev" or "env" : "test" or "env" : "prod" "chargeback-code" : "abc123" Label keys Label keys are made up of an (optional) prefix, and name. If a prefix is present, it is separated from the name by a /. Prefixes are dns names intended to enable namespacing of label keys. A label key prefix must adhere to the following restrictions: Length: 0-253 characters Allowed characters: alphanumeric ( [a-z0-9A-Z] ), -, and . DNS subdomain format (series of subdomain labels separated by .) A label key name must adhere to the following restrictions: Length: 1-63 characters Allowed characters: alphanumeric ( [a-z0-9A-Z] ), -, _, and . Must begin and end with an alphanumeric character Label values Label values must adhere to the following restrictions: Length: 0-63 characters Allowed characters: alphanumeric ( [a-z0-9A-Z] ), -, _, and . Must begin and end with an alphanumeric character Empty values are allowed ' annotations: type: object additionalProperties: type: - string - 'null' description: 'A set of key-value pairs that describe the resource. Annotations are a JSON object that contains information about a resource. They are used to tag resources with metadata that can be used to filter and group resources. Annotations are included in the response body of a request to retrieve a resource. Annotations are user-specified key-value pairs that are attached to API resources. They do not affect the operation of Cloud Foundry. Annotations cannot be used in filters. When a service instance is being created, the service broker is sent the annotations of the service instance, and the space and organization in which the service instance resides. When a service instance is being updated, the service broker is sent the annotations of the space and organization in which the service instance resides. When a service binding is being created, the service broker is sent annotations of any associated app, and the space and organization in which the binding resides. Only annotations with a prefix (e.g. company.com/contacts) are sent to service brokers. Examples may include (but are not limited to): "contact info": "bob@example.com jane@example.com" "library versions": "Spring: 5.1, Redis Client: a184098. yaml parser: 38" "git-sha": "d56fe0367554ae5e878e37ed6c5b9a82f5995512" Annotation keys Annotation keys are made up of an (optional) prefix and name. If a prefix is present, it is separated from the name by a /. Prefixes are DNS names intended to enable namespacing of annotation keys. An annotation key prefix must adhere to the following restrictions: Length: 0-253 characters Allowed characters: a-z, A-Z, 0-9, -, and .; emojis cannot be used in keys DNS subdomain format (series of subdomain annotations separated by .) An annotation key name must adhere to the following restrictions: Length: 1-63 characters Allowed characters: a-z, A-Z, 0-9, -, _, and .; emojis cannot be used in keys Must begin and end with an alphanumeric character Annotation values Annotation values must adhere to the following restrictions: Length: 0-5000 unicode characters ' description: '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 resource was last updated, and links to the resource. Metadata is included in the response body of a request to retrieve a resource. ' User: type: object properties: guid: type: string description: Unique identifier for the user, matching either a UAA user id or client id. A client id may not be a uuid. created_at: type: string format: date-time description: The ISO8601 compatible date and time when resource was created updated_at: type: string format: date-time description: The ISO8601 compatible date and time when resource was last updated username: type: - string - 'null' description: The username of the user presentation_name: type: string description: The presentation name of the user origin: type: - string - 'null' description: The origin of the user metadata: $ref: '#/components/schemas/Metadata' links: type: object properties: self: $ref: '#/components/schemas/Link' description: The URL to get this user BaseSchema: type: object properties: guid: type: string format: uuid description: The unique identifier for the resource created_at: type: string format: date-time description: The ISO8601 compatible date and time when resource was created updated_at: type: string format: date-time description: The ISO8601 compatible date and time when resource was last updated description: '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 required resource fields and other attributes specific to the resource. See Resources and Experimental Resources for specific resources. ' Relationships: type: object description: 'Relationships represent associations between resources. When relationships are mutable, they can be used to create, read, update, and delete these associations. An app’s relationship to its current droplet is mutable, but an app’s relationship to its space is not. Relationships do not affect the fundamental properties of a resource, but may affect their behavior and permissions logic. Relationships are tied to the lifecycles of the associated resources and will be removed if either of the associated resources are deleted. For example, if a user is removed from an organization, both the user and the organization persist, but the relationship between them does not. Not all resources implement every relationship operation demonstrated in the examples below. See the docs for each resource to see how it interacts with its relationships. Endpoints that return relationship data list this information under the relationships key. The relationship object The relationship object is a key-value pair that uniquely identifies a resource. In practice this is almost always the guid of a resource. ' responses: Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Errors' NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' UnprocessableEntity: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' BadGateway: description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Errors' text/html: schema: type: string Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Errors' Conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Errors' ServiceUnavailable: description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Errors' parameters: OrderBy: name: order_by in: query required: false schema: type: string description: 'Value to sort by. Defaults to ascending; prepend with `-` to sort descending. ' example: created_at Guid: name: guid in: path required: true schema: type: string format: uuid description: The unique identifier for the resource PerPage: name: per_page in: query required: false schema: type: integer description: Number of results per page, valid values are 1 through 5000 example: 50 Page: name: page in: query required: false schema: type: integer description: Page to display; valid values are integers >= 1 example: 1 UpdatedAts: name: updated_ats in: query required: false schema: type: string description: 'Timestamp to filter by. When filtering on equality, several comma-delimited timestamps may be passed. Also supports filtering with [relational operators](#relational-operators). ' example: '2021-01-01T00:00:00Z' LabelSelector: name: label_selector in: query description: A query string containing a list of [label selector](#labels-and-selectors) requirements required: false schema: type: string example: environment=production CreatedAts: name: created_ats in: query required: false schema: type: string description: 'Timestamp to filter by. When filtering on equality, several comma-delimited timestamps may be passed. Also supports filtering with [relational operators](#relational-operators). ' example: '2021-01-01T00:00:00Z' requestBodies: ServicePlanVisibilityUpdateRequestBody: description: Service plan visibility object that needs to be updated required: true content: application/json: schema: type: object properties: type: type: string enum: - public - admin - organization description: Denotes the visibility of the plan organizations: type: array items: type: object properties: guid: type: string format: uuid required: - guid description: Desired list of organizations GUIDs where the plan will be accessible; required if type is organization required: - type ServicePlanVisibilityCreateRequestBody: description: Service plan visibility object that needs to be created required: true content: application/json: schema: type: object properties: type: type: string enum: - public - admin - organization description: Denotes the visibility of the plan organizations: type: array items: type: object properties: guid: type: string format: uuid required: - guid description: Desired list of organizations GUIDs where the plan will be accessible; required if type is organization required: - type examples: default: summary: default value: type: organization organizations: - guid: 123e4567-e89b-12d3-a456-426614174000 securitySchemes: oauth: type: oauth2 flows: implicit: authorizationUrl: https://uaa.cloudfoundry.local/api-oauth/dialog scopes: cloud_controller.admin: This scope provides read and write access to all resources cloud_controller.admin_read_only: This scope provides read only access to all resources cloud_controller.global_auditor: This scope provides read access to all resources cloud_controller.read: Read access to the Cloud Controller cloud_controller.write: Write access to the Cloud Controller cloud_controller.update_build_state: This scope allows its bearer to update the state of a build; currently only used when updating builds cloud_controller_service_permissions.read: This scope provides read only access for service instance permissions bearer: type: http scheme: bearer bearerFormat: JWT description: Bearer JWT token authentication