CloudBees · Schema

api.v4.ListComponentsResponse

Response message for listing components.

CI/CDContinuous DeliveryContinuous IntegrationDeveloper ToolsDevOpsFeature FlagsFeature ManagementJenkinsRelease OrchestrationSoftware Delivery

Properties

Name Type Description
components array The components matching the request, for the current page.
nextPageToken string Cursor for the next page of results. An empty string indicates that this is the last page.
totalSize integer Total number of components matching the request across all pages.
View JSON Schema on GitHub

JSON Schema

cloudbees-api-v4-list-components-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/cloudbees/main/json-schema/cloudbees-api-v4-list-components-response-schema.json",
  "title": "api.v4.ListComponentsResponse",
  "description": "Response message for listing components.",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cloudbees-components-api-openapi.yml#/components/schemas/api.v4.ListComponentsResponse",
  "type": "object",
  "properties": {
    "components": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/api.v4.Component"
      },
      "description": "The components matching the request, for the current page."
    },
    "nextPageToken": {
      "type": "string",
      "description": "Cursor for the next page of results. An empty string indicates that this is\n the last page."
    },
    "totalSize": {
      "type": "integer",
      "description": "Total number of components matching the request across all pages.",
      "format": "int32"
    }
  },
  "$defs": {
    "api.v4.Component": {
      "required": [
        "name",
        "repositoryUrl"
      ],
      "type": "object",
      "properties": {
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Unique identifier for this component. Auto-generated on create."
        },
        "name": {
          "type": "string",
          "description": "Display name for the component. Required on create; mutable via PATCH."
        },
        "description": {
          "type": "string",
          "description": "Optional free-text description. Mutable via PATCH.\n\n Note: once set, a description cannot be cleared back to empty through this\n API; sending an empty value leaves the existing description unchanged."
        },
        "repositoryUrl": {
          "type": "string",
          "description": "Repository clone URL (.git form). Required on create. It is the identity of\n the component and cannot be changed after creation."
        },
        "repositoryHref": {
          "readOnly": true,
          "type": "string",
          "description": "Browser-facing repository URL. Server-derived by stripping the trailing\n \".git\" from repository_url."
        },
        "defaultBranch": {
          "type": "string",
          "description": "Default branch for the repository. Optional on create (defaults to \"main\"\n when absent); mutable via PATCH."
        },
        "provider": {
          "type": "string",
          "description": "SCM provider backing the repository. Optional on create: inferred from the\n repository_url hostname for known public providers, or supplied explicitly\n for self-hosted providers. Not directly mutable via PATCH; it is\n resolved automatically, including when an SCM integration is attached.\n One of: \"GITHUB\", \"GITHUB_ENTERPRISE\", \"GITLAB\", \"GITLAB_SERVER\",\n \"BITBUCKET\", \"BITBUCKET_DATACENTER\". Empty when unresolved."
        },
        "integrationId": {
          "type": "string",
          "description": "Identifier of the SCM integration backing this component. Empty when the\n component has no integration. Optional on create, and can be set via PATCH\n to attach an integration to a component that has none.\n\n Note: once an integration is attached it cannot be removed through this\n API; sending an empty value leaves the existing integration in place."
        },
        "organizationId": {
          "readOnly": true,
          "type": "string",
          "description": "Organization that owns this component. Read-only; set from the organization\n in the request URL."
        },
        "createdAt": {
          "readOnly": true,
          "type": "string",
          "description": "When this component was created.",
          "format": "date-time"
        },
        "updatedAt": {
          "readOnly": true,
          "type": "string",
          "description": "When this component was last modified.",
          "format": "date-time"
        }
      },
      "description": "A component represents a source code repository tracked by CloudBees Unify.\n Components can be created with or without an SCM integration, so teams in\n air-gapped or network-restricted environments can onboard immediately. A\n component created without an integration can be connected to one later to\n unlock features that depend on it."
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/cloudbees-api-v4-list-components-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.