---
title: "createSchemaCapability"
method: POST
path: "/v1/entity/schemas/capabilities"
tags: ["Schemas"]
---

# createSchemaCapability

`POST /v1/entity/schemas/capabilities`

Create a schema capability

## Request body

- EntityCapabilityWithCompositeID — a readonly computed ID for the entity capability including schema slug and the capability ID
  - `id` string — ID for the entity capability
  - `name` string, required — Unique name for the capability
  - `title` string — Human readable title of the capability
  - `attributes` Attribute[] — unresolved $ref
  - `_purpose` ClassificationId[]
  - `_manifest` string[], nullable — Manifest ID used to create/update the schema capabilility
  - `app_id` string — ID of the app if the capability is provided by an app
  - `ui_config` object
    - `is_filterable` boolean — Whether the capability is filterable
  - `ui_hooks` object[]
    - `hook` string, required — name of the hook to use
    - `render_condition` string
    - `order` integer — render order (ascending)
    - `title` string
    - `group_expanded` boolean — Sets the group expand/collapse default state
    - `import` string — package to be imported
    - `component` string — the component to be dynamically loaded
    - `route` string — route for specified capability
    - `icon` string — Preview icon name(As in Base elements) for the capability
    - `disabled` boolean — Whether capability should be disabled
    - `header` boolean — Specific to Activity pilot
    - `requiredPermission` object — Require a permission to display UI hook
      - `action` string, required
      - `resource` string
  - `feature_flag` string — This capability should only be active when the feature flag is enabled
  - `settings_flag` SettingFlag[] — This capability should only be active when all the settings have the correct value
    - `name` string — The name of the organization setting to check
    - `enabled` boolean — Whether the setting should be enabled or not
  - `schemas` object[] — Schema-specific configuration for the capability
    - `schema` string, required — Entity schema slug
  - `composite_id` string
  - `schema` string — Schema slug the capability belongs to

## Response `201`

Success

- EntityCapabilityWithCompositeID — a readonly computed ID for the entity capability including schema slug and the capability ID
  - `id` string — ID for the entity capability
  - `name` string, required — Unique name for the capability
  - `title` string — Human readable title of the capability
  - `attributes` Attribute[] — unresolved $ref
  - `_purpose` ClassificationId[]
  - `_manifest` string[], nullable — Manifest ID used to create/update the schema capabilility
  - `app_id` string — ID of the app if the capability is provided by an app
  - `ui_config` object
    - `is_filterable` boolean — Whether the capability is filterable
  - `ui_hooks` object[]
    - `hook` string, required — name of the hook to use
    - `render_condition` string
    - `order` integer — render order (ascending)
    - `title` string
    - `group_expanded` boolean — Sets the group expand/collapse default state
    - `import` string — package to be imported
    - `component` string — the component to be dynamically loaded
    - `route` string — route for specified capability
    - `icon` string — Preview icon name(As in Base elements) for the capability
    - `disabled` boolean — Whether capability should be disabled
    - `header` boolean — Specific to Activity pilot
    - `requiredPermission` object — Require a permission to display UI hook
      - `action` string, required
      - `resource` string
  - `feature_flag` string — This capability should only be active when the feature flag is enabled
  - `settings_flag` SettingFlag[] — This capability should only be active when all the settings have the correct value
    - `name` string — The name of the organization setting to check
    - `enabled` boolean — Whether the setting should be enabled or not
  - `schemas` object[] — Schema-specific configuration for the capability
    - `schema` string, required — Entity schema slug
  - `composite_id` string
  - `schema` string — Schema slug the capability belongs to

## Other responses

- `429` — Too many requests

## Changes

- **2026-07-21** `623caa43b2a2` — 70 info
  - added the new optional request property `allOf[#/components/schemas/EntityCapability]/attributes/items/anyOf[#/components/schemas/AddressAttribute]/allOf[#/components/schemas/BaseAttribute]/data_classification`
  - added the new optional request property `allOf[#/components/schemas/EntityCapability]/attributes/items/anyOf[#/components/schemas/AddressRelationAttribute]/allOf[#/components/schemas/BaseAttribute]/data_classification`
  - added the new optional request property `allOf[#/components/schemas/EntityCapability]/attributes/items/anyOf[#/components/schemas/AutomationAttribute]/allOf[#/components/schemas/BaseAttribute]/data_classification`
  - added the new optional request property `allOf[#/components/schemas/EntityCapability]/attributes/items/anyOf[#/components/schemas/BooleanAttribute]/allOf[#/components/schemas/BaseAttribute]/data_classification`
  - …66 more

[Change history](https://skmtc.dev/epilot/apis/entity-api/changes/v1/entity/schemas/capabilities/post.md)

---

[API](https://skmtc.dev/epilot/apis/entity-api.md) · [All operations](https://skmtc.dev/epilot/apis/entity-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/epilot/entity-api/revisions/32f09ec4e20b/schema)
