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

# Check skill display name availability

> Checks whether a display name is available within the workspace. Returns the `conflicting_skill_id` when the name is taken. Pass `skill_id` to exclude a skill from the check, useful when renaming.



## OpenAPI

````yaml post /v2/skills:checkDisplayNameAvailability
openapi: 3.1.0
info:
  title: orq.ai API
  version: '2.0'
  description: orq.ai API documentation
servers:
  - url: https://api.orq.ai
security:
  - ApiKey: []
tags:
  - description: List models available through the AI Router.
    name: Models
  - name: Guardrail Rules
  - name: Policies
  - name: Routing Rules
  - name: API keys
    description: >-
      API keys authenticate programmatic access to the workspace. The unified
      key model exposes opaque tokens, per-domain access grants, and budget /
      rate-limit constraints (see ADR 0001 and ADR 0002).
  - name: Budgets
    description: >-
      Budgets govern spend, token usage, and request rate across six scopes:
      workspace, project, identity, api-key, provider, and model. A budget is
      hierarchical and defense-in-depth — every applicable budget is a hard
      gate, and the most restrictive one wins per dimension (see ADR 0007).
  - name: Documentation
    description: >-
      Search the orq.ai documentation. Proxies the workspace's query to the
      hosted docs search index.
  - name: Files
    description: File upload and retrieval operations.
  - name: Identities
    description: >-
      Identities represent end users from your system for usage and engagement
      tracking.
  - name: Projects
    description: Projects organize resources within a workspace
  - name: Skills
    description: >-
      Skills are modular instructions you can use to codify processes and
      conventions
  - name: Responses
  - description: >-
      Run agents on a cadence — cron, interval, or one-off. Minimum firing
      interval is 1 hour.
    name: Agent Schedules
  - name: Embeddings
  - name: Reporting
    description: >-
      GenAI reporting API over canonical analytics rollups. Accepts a metric
      name, time range, grain, group-by, and filters; returns a typed time
      series and optional totals.
externalDocs:
  url: https://docs.orq.ai
  description: orq.ai Documentation
paths:
  /v2/skills:checkDisplayNameAvailability:
    post:
      tags:
        - Skills
      summary: Check skill display name availability
      description: >-
        Checks whether a display name is available within the workspace. Returns
        the `conflicting_skill_id` when the name is taken. Pass `skill_id` to
        exclude a skill from the check, useful when renaming.
      operationId: SkillCheckDisplayNameAvailability
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckSkillDisplayNameAvailabilityRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckSkillDisplayNameAvailabilityResponse'
      x-code-samples:
        - lang: curl
          label: Core - Check display name availability
          source: |
            curl --request POST \
              --url 'https://api.orq.ai/v2/skills:checkDisplayNameAvailability' \
              --header 'Authorization: Bearer $ORQ_API_KEY' \
              --header 'Content-Type: application/json' \
              --data '{
                "display_name": "summarize_support_ticket"
              }'
        - lang: python
          label: Python - Check display name availability
          source: |
            import os
            import requests

            response = requests.post(
                "https://api.orq.ai/v2/skills:checkDisplayNameAvailability",
                headers={
                    "Authorization": f"Bearer {os.environ['ORQ_API_KEY']}",
                    "Content-Type": "application/json",
                },
                json={
                    "display_name": "summarize_support_ticket",
                },
                timeout=30,
            )
            response.raise_for_status()

            result = response.json()
            print(result["available"])
        - lang: typescript
          label: Node.js - Check display name availability
          source: |
            const response = await fetch(
              'https://api.orq.ai/v2/skills:checkDisplayNameAvailability',
              {
                method: 'POST',
                headers: {
                  Authorization: `Bearer ${process.env.ORQ_API_KEY}`,
                  'Content-Type': 'application/json',
                },
                body: JSON.stringify({
                  display_name: 'summarize_support_ticket',
                }),
              },
            );

            if (!response.ok) {
              throw new Error(`Request failed: ${response.status}`);
            }

            const result = await response.json();
            console.log(result.available);
components:
  schemas:
    CheckSkillDisplayNameAvailabilityRequest:
      required:
        - display_name
      type: object
      properties:
        display_name:
          type: string
          description: Display name to validate against the workspace uniqueness rules.
        skill_id:
          type: string
          description: |-
            Skill to exclude from the check. Set when renaming so the skill's
             current name does not conflict with itself; leave empty when creating.
    CheckSkillDisplayNameAvailabilityResponse:
      required:
        - available
      type: object
      properties:
        available:
          type: boolean
          description: Whether the display name is available within the workspace.
        conflicting_skill_id:
          type: string
          description: |-
            ID of the skill currently using this display name. Empty when
             `available` is true.
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT

````