Cloud Foundry Stacks API

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

Operations 6

GET /v3/stacks List stacks #
POST /v3/stacks Create a stack #
GET /v3/stacks/{guid} Get a stack #
PATCH /v3/stacks/{guid} Update a stack #
DELETE /v3/stacks/{guid} Delete a stack #
GET /v3/stacks/{guid}/apps List apps on a stack #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloud-foundry-stacks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloud-foundry-stacks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cloud Foundry V3 Stacks 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: Stacks
  description: Stacks are used to specify the operating system and runtime environment for an app.
paths:
  /v3/stacks:
    get:
      summary: List stacks
      description: Retrieve all stacks.
      operationId: listStacks
      tags:
      - Stacks
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/OrderBy'
      - $ref: '#/components/parameters/CreatedAts'
      - $ref: '#/components/parameters/UpdatedAts'
      - $ref: '#/components/parameters/LabelSelector'
      - name: names
        in: query
        schema:
          type: array
          items:
            type: string
        description: Comma-delimited list of stack names to filter by
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StackList'
              examples:
                default:
                  summary: default
                  value:
                    pagination:
                      total_results: 3
                      total_pages: 2
                      first:
                        href: https://api.example.org?page=1&per_page=2
                      last:
                        href: https://api.example.org?page=2&per_page=2
                      next:
                        href: https://api.example.org?page=2&per_page=2
                      previous: null
                    resources:
                    - guid: 123e4567-e89b-12d3-a456-426614174000
                      created_at: '2018-11-09T22:43:28Z'
                      updated_at: '2018-11-09T22:43:28Z'
                      name: my-stack-1
                      build_rootfs_image: my-stack-1-build
                      run_rootfs_image: my-stack-1-run
                      description: This is my first stack!
                      state: ACTIVE
                      state_reason: null
                      default: true
                      metadata:
                        labels: {}
                        annotations: {}
                      links:
                        self:
                          href: https://api.example.org/11c916c9-c2f9-440e-8e73-102e79c4704d
                    - guid: 123e4567-e89b-12d3-a456-426614174000
                      created_at: '2018-11-09T22:43:29Z'
                      updated_at: '2018-11-09T22:43:29Z'
                      name: my-stack-2
                      description: This is my second stack!
                      build_rootfs_image: my-stack-2-build
                      run_rootfs_image: my-stack-2-run
                      state: DEPRECATED
                      state_reason: Stack deprecated and will be removed in future release
                      default: false
                      metadata:
                        labels: {}
                        annotations: {}
                      links:
                        self:
                          href: https://api.example.org/81c916c9-c2f9-440e-8e73-102e79c4704h
        '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'
    post:
      summary: Create a stack
      description: Create a stack.
      operationId: createStack
      tags:
      - Stacks
      requestBody:
        $ref: '#/components/requestBodies/StackCreateRequestBody'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stack'
        '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'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /v3/stacks/{guid}:
    get:
      summary: Get a stack
      description: Get a stack.
      operationId: getStack
      tags:
      - Stacks
      parameters:
      - $ref: '#/components/parameters/Guid'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stack'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      summary: Update a stack
      description: Update a stack.
      operationId: updateStack
      tags:
      - Stacks
      parameters:
      - $ref: '#/components/parameters/Guid'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                metadata:
                  $ref: '#/components/schemas/Metadata'
            examples:
              default:
                summary: default
                value:
                  metadata:
                    labels:
                      key: value
                    annotations:
                      note: detailed information
                  state: ACTIVE
                  state_reason: Optional plain text describing the stack state change
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stack'
        '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 stack
      description: Delete a stack.
      operationId: deleteStack
      tags:
      - Stacks
      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/stacks/{guid}/apps:
    get:
      summary: List apps on a stack
      description: Retrieve all apps using a given stack.
      operationId: listAppsOnStack
      tags:
      - Stacks
      parameters:
      - $ref: '#/components/parameters/Guid'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/OrderBy'
      - $ref: '#/components/parameters/CreatedAts'
      - $ref: '#/components/parameters/UpdatedAts'
      - $ref: '#/components/parameters/LabelSelector'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppList'
              examples:
                default:
                  summary: default
                  value:
                    pagination:
                      total_results: 3
                      total_pages: 2
                      first:
                        href: https://api.example.org?page=1&per_page=2
                      last:
                        href: https://api.example.org?page=2&per_page=2
                      next:
                        href: https://api.example.org?page=2&per_page=2
                      previous: null
                    resources:
                    - guid: 123e4567-e89b-12d3-a456-426614174000
                      name: my_app
                      state: STARTED
                      created_at: '2016-03-17T21:41:30Z'
                      updated_at: '2016-03-18T11:32:30Z'
                      lifecycle:
                        type: buildpack
                        data:
                          buildpacks:
                          - java_buildpack
                          stack: cflinuxfs4
                      relationships:
                        space:
                          data:
                            guid: 123e4567-e89b-12d3-a456-426614174000
                        current_droplet:
                          data:
                            guid: 123e4567-e89b-12d3-a456-426614174000
                      links:
                        self:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446
                        space:
                          href: https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576
                        processes:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes
                        packages:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages
                        environment_variables:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables
                        current_droplet:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current
                        droplets:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets
                        tasks:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks
                        start:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start
                          method: POST
                        stop:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop
                          method: POST
                        revisions:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/revisions
                        deployed_revisions:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/revisions/deployed
                        features:
                          href: https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/features
                      metadata:
                        labels: {}
                        annotations: {}
                    - guid: 123e4567-e89b-12d3-a456-426614174000
                      name: my_app2
                      state: STOPPED
                      created_at: '1970-01-01T00:00:02Z'
                      updated_at: '2016-06-08T16:41:26Z'
                      lifecycle:
                        type: buildpack
                        data:
                          buildpacks:
                          - ruby_buildpack
                          stack: cflinuxfs4
                      relationships:
                        space:
                          data:
                            guid: 123e4567-e89b-12d3-a456-426614174000
                        droplet:
                          data:
                            guid: 123e4567-e89b-12d3-a456-426614174000
                      links:
                        self:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8
                        space:
                          href: https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576
                        processes:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/processes
                        packages:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/packages
                        environment_variables:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/environment_variables
                        current_droplet:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/droplets/current
                        droplets:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/droplets
                        tasks:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/tasks
                        start:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/actions/start
                          method: POST
                        stop:
                          href: https://api.example.org/02b4ec9b-94c7-4468-9c23-4e906191a0f8/actions/stop
                          method: POST
                        revisions:
                          href: https://api.example.org//02b4ec9b-94c7-4468-9c23-4e906191a0f8/revisions
                        deployed_revisions:
                          href: https://api.example.org//02b4ec9b-94c7-4468-9c23-4e906191a0f8/revisions/deployed
                        features:
                          href: https://api.example.org//02b4ec9b-94c7-4468-9c23-4e906191a0f8/features
                      metadata:
                        labels: {}
                        annotations: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    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
    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.

        '
    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.

        '
    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
    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.

        '
    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.

        '
    Stack:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseSchema'
      - properties:
          name:
            type: string
            description: Name of the stack
          description:
            type:
            - string
            - 'null'
            description: Description of the stack
          build_rootfs_image:
            type: string
            description: The filesystem root image for building
          run_rootfs_image:
            type: string
            description: The filesystem root image for running
          default:
            type: boolean
            description: Whether this is the default stack
          links:
            type: object
            properties:
              self:
                $ref: '#/components/schemas/Link'
          metadata:
            $ref: '#/components/schemas/Metadata'
        required:
        - name
        - description
        - 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
    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.

        '
    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.

        '
    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.

        '
    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 

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cloud-foundry/refs/heads/main/openapi/cloud-foundry-stacks-api-openapi.yml