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

# Create Prompt

> Create a prompt and its first version. Handle is derived from `name`.



## OpenAPI

````yaml /openapi.yaml post /workspaces/{workspaceId}/prompts
openapi: 3.1.0
info:
  title: Actx0 API
  version: 1.0.0
  description: >-
    REST API for Actx0 workspaces, access keys, agents, sessions, messages,
    memories, prompts, and knowledge documents.


    Authenticate with `X-Access-Key` (workspace), `X-API-Key` (user), or a
    dashboard session.
servers:
  - url: https://app.actx0.com/api/v1
    description: Actx0 cloud
security: []
tags:
  - name: Me
    description: Inspect the authenticated access key or API key
  - name: API Keys
    description: User API keys for X-API-Key auth
  - name: Workspaces
    description: Team workspaces
  - name: Access Keys
    description: Scoped workspace keys for agents and SDKs
  - name: Agents
    description: Agents inside a workspace
  - name: Sessions
    description: Agent conversation sessions
  - name: Messages
    description: Session messages and semantic search
  - name: Memories
    description: Session memories, search, batch, and regenerate
  - name: Prompts
    description: Versioned prompts
  - name: Knowledge
    description: Document upload and semantic search
paths:
  /workspaces/{workspaceId}/prompts:
    post:
      tags:
        - Prompts
      summary: Create Prompt
      description: Create a prompt and its first version. Handle is derived from `name`.
      operationId: createPrompt
      parameters:
        - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePromptRequest'
            example:
              name: Support system prompt
              description: Primary system prompt for support agents
              type: text
              content: You are a helpful support agent.
              commitMessage: Initial version
              production: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Prompt'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - AccessKeyAuth: []
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl / acli
          source: >
            curl -X POST
            'https://app.actx0.com/api/v1/workspaces/<workspaceId>/prompts' \
              -H "X-Access-Key: YOUR_ACCESS_KEY" \
              -H "Content-Type: application/json" \
              -H "Accept: application/json" \
              -d '{"name": "Support system prompt", "description": "Primary system prompt for support agents", "type": "text", "content": "You are a helpful support agent.", "commitMessage": "Initial version", "production": true}'

            # ---


            # acli

            export ACTX0_ACCESS_KEY="YOUR_ACCESS_KEY"

            export ACTX0_WORKSPACE_ID="YOUR_WORKSPACE_ID"


            acli prompt create "Mara Guide" \
              --type text \
              --content "You are Mara. Be concise." \
              --description "Support assistant prompt"
        - lang: python
          label: pctx0
          source: |
            from pctx0 import Pctx0Client

            client = Pctx0Client(
                access_key="YOUR_ACCESS_KEY",
                workspace_id="YOUR_WORKSPACE_ID",
            )

            prompt = client.prompt.create(
                name="Mara Guide",
                type="text",
                content="You are Mara. Be concise.",
                description="Support assistant prompt",
            )
        - lang: javascript
          label: nctx0
          source: |
            import { Nctx0Client } from "@actx0/nctx0";

            const client = new Nctx0Client({
              accessKey: "YOUR_ACCESS_KEY",
              workspaceId: "YOUR_WORKSPACE_ID",
            });

            const prompt = await client.prompt.create({
              name: "Mara Guide",
              type: "text",
              content: "You are Mara. Be concise.",
              description: "Support assistant prompt",
            });
        - lang: go
          label: gtcx0
          source: "package main\n\nimport (\n\t\"context\"\n\n\t\"github.com/Actx0/Gctx0\"\n)\n\nfunc main() {\n\tclient := gctx0.NewClient(\n\t\tgctx0.WithAccessKey(\"YOUR_ACCESS_KEY\"),\n\t\tgctx0.WithWorkspaceId(\"YOUR_WORKSPACE_ID\"),\n\t)\n\tdefer client.Close()\n\tctx := context.Background()\n\tprompt, err := client.Prompt.Create(\n\t\tctx,\n\t\t\"Mara Guide\",\n\t\tgctx0.PromptTypeText,\n\t\t\"You are Mara. Be concise.\",\n\t\tgctx0.PromptWriteOptions{Description: \"Support assistant prompt\"},\n\t)\n\t_ = prompt\n\t_ = err\n}\n"
components:
  parameters:
    WorkspaceId:
      name: workspaceId
      in: path
      required: true
      schema:
        type: string
        format: uuid
      example: 11111111-1111-1111-1111-111111111111
  schemas:
    CreatePromptRequest:
      type: object
      required:
        - name
        - type
        - content
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
          example: Support system prompt
        description:
          type: string
          maxLength: 2000
          example: Primary system prompt for support agents
        type:
          type: string
          enum:
            - text
            - chat
          example: text
        content:
          type: string
          example: You are a helpful support agent.
        config:
          type: string
          description: Optional JSON encoded as a string.
        commitMessage:
          type: string
          maxLength: 255
          example: Initial version
        meta:
          type: string
          description: Optional JSON encoded as a string.
        production:
          type: boolean
          default: false
          example: true
    Prompt:
      type: object
      required:
        - promptId
        - name
        - handle
        - description
        - versionCount
      properties:
        promptId:
          type: string
          format: uuid
          example: 66666666-6666-6666-6666-666666666666
        name:
          type: string
          example: Support system prompt
        handle:
          type: string
          example: support-system-prompt
        description:
          type: string
          example: Primary system prompt for support agents
        versionCount:
          type: integer
          example: 1
    Error:
      type: object
      required:
        - errorMessage
      properties:
        errorMessage:
          type: string
          example: Name is required
  securitySchemes:
    AccessKeyAuth:
      type: apiKey
      in: header
      name: X-Access-Key
      description: Workspace access key for agent/runtime integrations.
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: User API key for management and automation.

````