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

# Publish an artifact

> Compiles the artifact's source files and sets it as the active
artifact for the design. This is the final step in a code-first
workflow: after writing files, call this to make the changes visible
in the editor and live preview.

Returns `422 Unprocessable Entity` if compilation fails.




## OpenAPI

````yaml openapi-v3.yml post /v3/designs/{editorId}/artifacts/{artifactId}/publish
openapi: 3.0.3
info:
  title: Magic Patterns API (v3)
  version: 3.0.0
  description: |
    The Magic Patterns API v3 provides programmatic access to design generation,
    iteration, and code-level editing. v3 mirrors the surface of the Magic
    Patterns MCP server — a single key authenticates both transports.

    v3 bills against your normal Magic Patterns credit balance. There is no
    separate API subscription. Free tier users can call v3 up to their credit
    limit, identical to web and MCP usage.

    For the legacy v2 single-shot creation endpoint (separate $99/mo plan),
    see the v2 reference.
servers:
  - url: https://api.magicpatterns.com/api
security:
  - ApiKeyAuth: []
tags:
  - name: Health
  - name: Design Systems
  - name: Designs
  - name: Artifacts
paths:
  /v3/designs/{editorId}/artifacts/{artifactId}/publish:
    post:
      tags:
        - Artifacts
      summary: Publish an artifact
      description: |
        Compiles the artifact's source files and sets it as the active
        artifact for the design. This is the final step in a code-first
        workflow: after writing files, call this to make the changes visible
        in the editor and live preview.

        Returns `422 Unprocessable Entity` if compilation fails.
      operationId: publishArtifactV3
      parameters:
        - $ref: '#/components/parameters/EditorId'
        - $ref: '#/components/parameters/ArtifactId'
      responses:
        '200':
          description: Compiled and activated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  artifactId:
                    type: string
                  compiledFiles:
                    type: array
                    items:
                      type: string
                    description: File names that were emitted by the compiler.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          description: Compilation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    EditorId:
      name: editorId
      in: path
      required: true
      description: The design's editor ID.
      schema:
        type: string
        example: abc123
    ArtifactId:
      name: artifactId
      in: path
      required: true
      description: The artifact ID.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The caller does not have access to this resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested design or artifact does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: Unexpected server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: You do not have access to this resource.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-mp-api-key
      description: >
        Magic Patterns API key. The same key authenticates v3 REST and the

        MCP server. Create one at
        https://www.magicpatterns.com/settings/api-keys.

````