# Retrieve the component details

Retrieves the details of a specific component, including its ID, name, and datasource options.

Endpoint: GET /api/v1/components/{componentId}
Version: v2.0
Security: HTTPBearer

## Security:

  - `HTTPBearer` (unknown)
    http bearer JWT

## Path parameters:

  - `componentId` (string, required)
    The unique identifier of the component. To get this ID, use [List components of a page](#operation/pages-get_all_components_by_page).

## Header parameters:

  - `x-sc-job-id` (any)
    A unique identifier for the job, used to trace, audit, and revert actions performed by an AI agent through the Agent API.

## Response 200:

  - `200` (unknown)
    Successful response

## Response 200 fields (application/json):

  - `id` (string)
    The unique identifier of the component.
    Example: 86a03271-dff4-470a-92bd-b68c67de2e25

  - `name` (string)
    The name of the component.
    Example: Promo

  - `datasourceTemplateId` (any)
    The template ID for the component's datasource. May be None if the component has no datasource template.
    Example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f

  - `datasourceLocations` (array)
    A list of locations for the component's datasource.
    Example: ["query:$site/*[@@name='Data']/*[@@templatename='Promo Folder']"]

  - `datasourceTemplatePath` (string)
    The path to the datasource template.
    Example: Feature/JSS Experience Accelerator/Page Content/Promo

  - `datasourceFields` (array)
    A list of fields for the datasource.

  - `datasourceFields.name` (string)
    The name of the datasource field.
    Example: PromoText

  - `datasourceFields.type` (string)
    The type of datasource field.
    Example: Rich Text

  - `datasourceFields.validation` (string)
    Validation rules for the datasource field.

  - `datasourceAutoGenerated` (boolean)
    Whether the datasource is auto-generated.
    Example: false

  - `datasourceRequired` (boolean)
    Whether the datasource is required.
    Example: true

  - `hasDynamicPlaceholder` (any)
    Whether the component has a dynamic placeholder.
    Example: true

## Response 422:

  - `422` (unknown)
    Unprocessable entity

## Response 422 fields (application/json):

  - `detail` (array)

  - `detail.loc` (array)
    The location of the error in the request.

  - `detail.msg` (string)
    The error message.

  - `detail.type` (string)
    The type of error.

  - `detail.input` (any)
    The input that caused the error.

  - `detail.ctx` (object)
    The context in which the error occurred.

