> ## 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.

# Read artifact files

> Returns the contents of one or more files in an artifact. Files that
don't exist in the artifact are simply omitted from the response.

This endpoint uses POST (with a request body) rather than GET (with a
query string) so file names containing `/`, commas, or other special
characters don't need URL encoding.




## OpenAPI

````yaml openapi-v3.yml post /v3/designs/{editorId}/artifacts/{artifactId}/files/read
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}/files/read:
    post:
      tags:
        - Artifacts
      summary: Read artifact files
      description: |
        Returns the contents of one or more files in an artifact. Files that
        don't exist in the artifact are simply omitted from the response.

        This endpoint uses POST (with a request body) rather than GET (with a
        query string) so file names containing `/`, commas, or other special
        characters don't need URL encoding.
      operationId: readArtifactFilesV3
      parameters:
        - $ref: '#/components/parameters/EditorId'
        - $ref: '#/components/parameters/ArtifactId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - fileNames
              properties:
                fileNames:
                  type: array
                  description: The file names to read.
                  items:
                    type: string
                  example:
                    - App.tsx
                    - index.css
      responses:
        '200':
          description: Requested files.
          content:
            application/json:
              schema:
                type: object
                properties:
                  files:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: App.tsx
                        content:
                          type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '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:
    BadRequest:
      description: Invalid or missing required input.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    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.

````