---
title: "Storage API index"
method: GET
path: "/v2/storage"
tags: ["Miscellaneous"]
---

# Storage API index

`GET /v2/storage`

## Request

- Base URL: `https://connection.keboola.com`
- URL: `https://connection.keboola.com/v2/storage`
- 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/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns information about the stack: services, features and available components. See the
[Keboola Developers documentation](https://developers.keboola.com/overview/) for more about
the component architecture.

In case the system, or a project is under maintenance, you will receive a `503` response. Maintenance typically applies to a single project, for example due to migration. Be sure to use the `Retry-After` header when accessing the API programatically.

## Query parameters

- `exclude` string

## Response `200`

Stack info including services, features, and components.

- object
  - `stack` string, required: Identifier of the stack the project runs on.
  - `host` string, required: Hostname of the API node that served the request.
  - `api` string, required
  - `version` string, required: API version resolved from the request.
  - `revision` string, required: Deployed application revision.
  - `documentation` string, required
  - `services` object[], required
    - `id` string, required
    - `url` string, required
  - `features` string[], required
  - `urlTemplates` object, required
    - `orchestrationJob` string, required
  - `components` union[]: Present unless excluded via `exclude=components`. Each item is `ComponentMinimalInfoResponse` with `exclude=componentDetails`, otherwise `ComponentArrayRead`.
    - union
      - ComponentArrayRead: Component array read model that represents a component with its configuration and metadata.
        - `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
      - ComponentMinimalInfoResponse: Component reduced to its listing keys, as the index returns it with `exclude=componentDetails`.
        - `id` string, required: Unique identifier of the component
        - `name` string, required: Display name of the component
        - `type` string, required: Type of the component as the Developer Portal reports it, e.g. `extractor`, `writer`, `application` or `transformation`
        - `ico64` string, nullable, required: 64x64 icon URL
        - `ico128` string, nullable, required: 128x128 icon URL
        - `features` string[], required: List of component features
        - `flags` string[], required: List of component flags
        - `description` string, required: Short description of the component
        - `categories` string[], required: List of component categories

## Other responses

- `503`: Returned by any Storage API endpoint when the authenticated project is under maintenance (disabled, e.g. during a migration). Use the `Retry-After` header when accessing the API programmatically.

---

[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)
