> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sentivel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a component



## OpenAPI

````yaml https://www.sentivel.com/api/v1/openapi.json post /components
openapi: 3.1.0
info:
  title: Sentivel API
  version: 1.0.0
  description: >-
    Provision and read your Sentivel workspace programmatically: components,
    monitors, status pages and incidents. Authenticate with an org API token
    (create one under Developers → API tokens in the dashboard).
  contact:
    name: Sentivel
    url: https://www.sentivel.com
servers:
  - url: https://www.sentivel.com/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Identity
    description: Who the token is
  - name: Components
    description: Status-page components (status units)
  - name: Monitors
    description: Uptime/HTTP checks
  - name: Status pages
    description: Public status pages
  - name: Incidents
    description: Incidents (read + manual create)
  - name: People
    description: Workspace members
  - name: Integrations
    description: Outbound alert destinations
  - name: On-call
    description: On-call schedules
paths:
  /components:
    post:
      tags:
        - Components
      summary: Create a component
      operationId: createComponent
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComponentCreate'
      responses:
        '201':
          description: The created component.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Component'
        '400':
          description: Validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The token's role can't manage components.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      description: >-
        Opt-in safe retries. Send a unique value (a UUID); a retry with the same
        key replays the first response (header `Idempotent-Replayed: true`)
        instead of acting twice. Reusing a key with a different body is rejected
        (400); a retry while the first is in flight gets 409. Scoped to the
        workspace, expires after 24h.
      schema:
        type: string
        maxLength: 255
  schemas:
    ComponentCreate:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 120
        displayOrder:
          type: integer
          minimum: 0
          maximum: 10000
    Component:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        status:
          type: string
        displayOrder:
          type: integer
        createdAt:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
                - forbidden
                - not_found
                - invalid_request
                - rate_limited
                - conflict
                - internal
            message:
              type: string
            details:
              type: object
          required:
            - code
            - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'An org API token (`sv_…`), sent as `Authorization: Bearer <token>`.'

````