---
title: "Get components"
method: GET
path: "/v2/storage/branch/{branchId}/components"
tags: ["Components and Configurations"]
---

# Get components

`GET /v2/storage/branch/{branchId}/components`

## Request

- Base URL: `https://connection.keboola.com`
- URL: `https://connection.keboola.com/v2/storage/branch/{branchId}/components`
- Auth: one of:
  - API key in header `X-StorageApi-Token`
  - API key in header `X-KBC-ManageApiToken`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/keboola/apis/keboola-storage-api/docs/v2/storage/branch/:branchId/components/get.ts> (a function with typed inputs; its response is checked against the schema)

Use this API call to obtain the definitions of all components in [Development Branch](#tag/Development-Branches)
together with their configurations in the project. For more information about the KBC Component architecture, see the
[Developers documentation](https://developers.keboola.com/overview/).

Only components that have at least one configuration in the project (deleted ones when `isDeleted=true`) are returned.
The `include` query parameter controls whether `configuration`, `rows` and `state` are embedded in each configuration.

The variant without `branch/{branchId}` in the URL is deprecated, use the branch endpoint and set `branch/default`.

## Path parameters

- `branchId` string, required

## Query parameters

- `componentType` string, nullable: Filter components by type.
- `include` string, nullable: Comma-separated list of data to include. Allowed values: state, configuration, rows.
- `isDeleted` string, nullable: Whether to list deleted components instead of active ones. Accepts booleanish values.

## Response `200`

List of components with their configurations.

- ComponentWithConfigurationsResponse[]
  - `id` string, required: Unique identifier of the component
  - `type` string, required: Type of the component as the Developer Portal reports it, e.g. `extractor`, `writer`, `application` or `transformation`
  - `name` string, required: Display name of the component
  - `description` string, required: Short description of the component
  - `longDescription` string, nullable, required: Detailed description of the component
  - `version` integer, required: Version number of the component
  - `complexity` 'low' | 'medium' | 'high', nullable, required: Complexity level of the component
  - `categories` string[], required: List of component categories
  - `hasUI` boolean, required: Whether the component has a user interface
  - `hasRun` boolean, required: Whether the component can be run
  - `ico32` string, nullable, required: 32x32 icon URL
  - `ico64` string, nullable, required: 64x64 icon URL
  - `ico128` string, nullable, required: 128x128 icon URL
  - `data` union, required: Additional component data. `""` when the stored JSON is invalid, `null` or a boolean; a legacy value stored as a JSON array or string is returned as is.
    - object
    - unknown[]
      - unknown
    - string
  - `flags` string[], required: List of component flags
  - `configurationSchema` union, required: JSON schema of the component configuration; an empty array `[]` when the stored JSON is empty.
    - object
    - unknown[]
      - unknown
  - `configurationRowSchema` union, required: JSON schema of the component configuration row; an empty array `[]` when the stored JSON is empty.
    - object
    - unknown[]
      - unknown
  - `emptyConfiguration` union, required: Default empty configuration; an empty array `[]` when the stored JSON is empty.
    - object
    - unknown[]
      - unknown
  - `emptyConfigurationRow` union, required: Default empty configuration row; an empty array `[]` when the stored JSON is empty.
    - object
    - unknown[]
      - unknown
  - `createConfigurationRowSchema` union, required: JSON schema for creating a new configuration row; an empty array `[]` when the stored JSON is empty.
    - object
    - unknown[]
      - unknown
  - `uiOptions` union, required: UI customization options; an empty array `[]` when the stored JSON is empty.
    - object
    - unknown[]
      - unknown
  - `configurationDescription` string, nullable, required: Description of the configuration structure
  - `features` string[], required: List of component features
  - `expiredOn` string, nullable, required: Date when the component expires, ISO 8601 with a `+hhmm` offset
  - `uri` string, nullable, required: URI of the component
  - `documentationUrl` string: URL to the component documentation. Present only when the component has one.
  - `dataTypesConfiguration` union, required: Configuration for data types. With none stored: `{}` from the component detail and list, `null` from the index; an empty array `[]` when the stored JSON is empty.
    - object, nullable
      - `dataTypesSupport` string
    - unknown[]
      - unknown
  - `processorConfiguration` union, required: Configuration for processors. With none stored: `{}` from the component detail and list, `null` from the index; an empty array `[]` when the stored JSON is empty.
    - object, nullable
      - `allowedProcessorPosition` string
    - unknown[]
      - unknown
  - `configurations` ConfigurationPartialResponse[], required: Configurations of the component in the project. `configuration`, `state` and `rows` are present only when requested via `include`.
    - `id` string, required: Configuration id, unique within the component.
    - `name` string, required: Configuration name.
    - `description` string, required: Configuration description.
    - `created` string, required: When the configuration was created, ISO 8601 with a `+hhmm` offset; `""` when none was recorded.
    - `creatorToken` object, required
      - `id` integer, required: Id of the token that created the configuration.
      - `description` string, required: Description of the token (typically the user e-mail).
    - `actor` ActorResponse, required: Who performed the action and through which credential.
      - `type` 'token' | 'session' | 'pat' | 'system', required: Credential the action came through: a Storage token, a programmatic session, a personal access token, or system work.
      - `id` string, required: Token id as a string, session or personal access token UUID, or the system subject.
      - `name` string, required: Token description, the admin email for a session or personal access token, or the system label, as it was when the action happened.
      - `adminId` integer, nullable, required: Admin behind the credential; null for a token without an admin, for system work, and when the admin was not recorded (an object whose creator is known only from its token columns, including rows backfilled from them).
    - `version` integer, required: Current version number. Use it as the `If-Match` precondition for update, delete and purge.
    - `changeDescription` string, nullable, required: Change description of the current version.
    - `isDisabled` boolean, required: Whether the configuration is disabled.
    - `isDeleted` boolean, required: Whether the configuration is in the trash.
    - `folder` string, nullable, required: Folder the configuration is grouped under; `null` when it is in none.
    - `folderUpdated` string, nullable, required: When the folder was last written (set, cleared, copied to a branch or merged), ISO 8601 with a `+hhmm` offset; `null` when the configuration has no folder. Read-only.
    - `configuration` union: Configuration data, arbitrary object defined by the component. `""` when the stored JSON is invalid, `null` or a boolean; a legacy value stored as a JSON array or string is returned as is.
      - object
      - unknown[]
        - unknown
      - string
    - `rowsSortOrder` string[]: Row ids in the desired order; empty when the default order (by id) applies.
    - `rows` ConfigurationRowInConfigurationResponse[]: Configuration rows (not deleted ones).
      - `id` string, required: Row id.
      - `name` string, required: Row name.
      - `description` string, required: Row description.
      - `isDisabled` boolean, required: Whether the row is disabled.
      - `version` integer, required: Current row version number.
      - `created` string, required: When the row was created, ISO 8601 with a `+hhmm` offset; `""` when none was recorded.
      - `creatorToken` ConfigurationCreatorTokenResponse, required
        - `id` integer, required: Id of the token that created the object or version.
        - `description` string, nullable, required: Description of the token (typically the user e-mail).
      - `actor` ActorResponse, required: Who performed the action and through which credential.
        - `type` 'token' | 'session' | 'pat' | 'system', required: Credential the action came through: a Storage token, a programmatic session, a personal access token, or system work.
        - `id` string, required: Token id as a string, session or personal access token UUID, or the system subject.
        - `name` string, required: Token description, the admin email for a session or personal access token, or the system label, as it was when the action happened.
        - `adminId` integer, nullable, required: Admin behind the credential; null for a token without an admin, for system work, and when the admin was not recorded (an object whose creator is known only from its token columns, including rows backfilled from them).
      - `changeDescription` string, nullable, required: Change description of the current row version.
      - `versionIdentifier` string, nullable, required: ULID uniquely identifying the current row version.
      - `state` union: Row state data. Present only when `state` is included. `""` when the stored JSON is invalid, `null` or a boolean; a legacy value stored as a JSON array or string is returned as is.
        - object
        - unknown[]
          - unknown
        - string
      - `configuration` union: Row configuration data. Present only when `configuration` is included. `""` when the stored JSON is invalid, `null` or a boolean; a legacy value stored as a JSON array or string is returned as is.
        - object
        - unknown[]
          - unknown
        - string
    - `state` union: Configuration state data, arbitrary object. `""` when the stored JSON is invalid, `null` or a boolean; a legacy value stored as a JSON array or string is returned as is.
      - object
      - unknown[]
        - unknown
      - string
    - `currentVersion` ConfigurationCurrentVersionResponse, required: Metadata of the current (head) version of the configuration.
      - `created` string, required: When the current version was created, ISO 8601 with a `+hhmm` offset; `""` when none was recorded.
      - `creatorToken` ConfigurationCreatorTokenResponse, required
        - `id` integer, required: Id of the token that created the object or version.
        - `description` string, nullable, required: Description of the token (typically the user e-mail).
      - `actor` ActorResponse, required: Who performed the action and through which credential.
        - `type` 'token' | 'session' | 'pat' | 'system', required: Credential the action came through: a Storage token, a programmatic session, a personal access token, or system work.
        - `id` string, required: Token id as a string, session or personal access token UUID, or the system subject.
        - `name` string, required: Token description, the admin email for a session or personal access token, or the system label, as it was when the action happened.
        - `adminId` integer, nullable, required: Admin behind the credential; null for a token without an admin, for system work, and when the admin was not recorded (an object whose creator is known only from its token columns, including rows backfilled from them).
      - `changeDescription` string, nullable, required: Change description of the current version.
      - `versionIdentifier` string, nullable, required: ULID uniquely identifying the current version across branches.

## Other responses

- `403`: Token is not allowed to list components.

---

[API](https://skmtc.dev/keboola/apis/keboola-storage-api.md) - [All operations](https://skmtc.dev/keboola/apis/keboola-storage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/keboola/apis/keboola-storage-api/revisions/34b5ceac0317?raw)
