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

# Create Namespace Snapshot

> Create a point-in-time snapshot of the entire namespace. Captures all MongoDB documents and an S3 object manifest. Optionally copies S3 objects to the snapshot prefix for full data preservation (required if you plan to delete the namespace and restore later). With import_from, imports a snapshot taken on another plane instead: its artifacts are copied from an allowed backup bucket, each checked against its recorded sha256, and the snapshot is completed only if verify finds it restorable.



## OpenAPI

````yaml post /v1/namespaces/{namespace_identifier}/snapshots
openapi: 3.1.0
info:
  title: Mixpeek API
  description: >-
    This is the Mixpeek API, providing access to various endpoints for data
    processing and retrieval.
  termsOfService: https://mixpeek.com/terms
  contact:
    name: Mixpeek Support
    url: https://mixpeek.com/contact
    email: info@mixpeek.com
  version: '0.82'
servers:
  - url: https://api.mixpeek.com
    description: Production
security:
  - BearerAuth: []
paths:
  /v1/namespaces/{namespace_identifier}/snapshots:
    post:
      tags:
        - Namespace Snapshots
      summary: Create Namespace Snapshot
      description: >-
        Create a point-in-time snapshot of the entire namespace. Captures all
        MongoDB documents and an S3 object manifest. Optionally copies S3
        objects to the snapshot prefix for full data preservation (required if
        you plan to delete the namespace and restore later). With import_from,
        imports a snapshot taken on another plane instead: its artifacts are
        copied from an allowed backup bucket, each checked against its recorded
        sha256, and the snapshot is completed only if verify finds it
        restorable.
      operationId: create_snapshot_v1_namespaces__namespace_identifier__snapshots_post
      parameters:
        - name: namespace_identifier
          in: path
          required: true
          schema:
            type: string
            description: Namespace name or ID
            title: Namespace Identifier
          description: Namespace name or ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSnapshotRequest'
        description: >-
          Keys this body does not declare are refused with 422 extra_forbidden
          naming the accepted keys (since 2026-11-02).
        x-unknown-keys:
          until: '2026-11-02'
          then: 422 extra_forbidden
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSnapshotResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    CreateSnapshotRequest:
      properties:
        copy_s3_objects:
          type: boolean
          title: Copy S3 Objects
          description: >-
            If true, S3 objects are copied to the snapshot prefix (slower, uses
            more storage). Required for restoring after namespace deletion.
          default: false
        include_vectors:
          type: boolean
          title: Include Vectors
          description: >-
            If false, creates a metadata-only snapshot: the namespace's records
            without its vector points. Restoring it writes no vectors, so it is
            not a backup of the namespace's data.
          default: true
        import_from:
          anyOf:
            - $ref: '#/components/schemas/SnapshotImportSource'
            - type: 'null'
          description: >-
            Import a snapshot taken on another plane instead of taking one: its
            artifacts are copied from this bucket and prefix into this
            namespace's snapshots, every artifact is checked against the sha256
            its manifest records, and the snapshot is completed only if verify
            finds it restorable. copy_s3_objects and include_vectors do not
            apply.
      type: object
      title: CreateSnapshotRequest
    CreateSnapshotResponse:
      properties:
        task_id:
          type: string
          title: Task Id
        snapshot_id:
          type: string
          title: Snapshot Id
        message:
          type: string
          title: Message
      type: object
      required:
        - task_id
        - snapshot_id
        - message
      title: CreateSnapshotResponse
    ErrorResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Always false for error responses
          default: false
        status:
          type: integer
          title: Status
          description: HTTP status code for this error
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: Error details payload
      type: object
      required:
        - status
        - error
      title: ErrorResponse
      description: Error response model.
      examples:
        - error:
            details:
              id: ns_123
              resource: namespace
            message: Namespace not found
            type: NotFoundError
          status: 404
          success: false
    SnapshotImportSource:
      properties:
        bucket:
          type: string
          title: Bucket
          description: >-
            A backup bucket snapshots can be imported from, such as the source
            plane's (copy_out.bucket on the source snapshot)
        prefix:
          type: string
          title: Prefix
          description: >-
            The source snapshot's path in that bucket (its s3_prefix), such as
            <org>/<namespace_id>/_snapshots/<snapshot_id>/
      additionalProperties: false
      type: object
      required:
        - bucket
        - prefix
      title: SnapshotImportSource
      description: Where a snapshot taken on another plane is read from (plan 18.8).
    ErrorDetail:
      properties:
        message:
          type: string
          title: Message
          description: Human-readable error message
        type:
          type: string
          title: Type
          description: Stable error type identifier (machine-readable)
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
          description: >-
            Fine-grained error code for programmatic handling (e.g.,
            namespace_name_taken, feature_extractor_not_found). Present only
            when consumers may need to branch on a specific error condition.
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
          description: >-
            Optional structured details to help debugging (validation errors,
            IDs, etc.)
      type: object
      required:
        - message
        - type
      title: ErrorDetail
      description: Error detail model.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Mixpeek API key, sent as `Authorization: Bearer mxp_sk_...`. Create one
        in Studio under Settings → API Keys, or with an admin key via `POST
        /v1/organizations/users/{user_email}/api-keys`. A missing, malformed,
        unknown, revoked, inactive or expired key returns 401; a key without the
        permission, scope or plan an operation needs returns 403.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.