v5

latestOpenAPI 3.1.02026-08-025631,1012.8 MB
Manifest

Apply Manifest

Apply a YAML manifest to create resources.

Creates all resources defined in the manifest file in dependency order. Fails if any resource already exists (create-only mode). Performs automatic rollback if any resource creation fails.

Features:

  • Topological sorting ensures resources are created in correct dependency order
  • Secret references (${{ secrets.NAME }}) are resolved from organization secrets
  • Atomic operation: rolls back all created resources if any creation fails
  • Dry run mode validates the manifest without making changes

Example:

curl -X POST /v1/manifest/apply \
  -H "Authorization: Bearer $API_KEY" \
  -H "X-Namespace: ns_xxx" \
  -F "manifest_file=@mixpeek.yaml"

Example manifest:

version: "1.0"
metadata:
  name: "my-environment"

namespaces:
  - name: video_search
    feature_extractors:
      - name: multimodal_extractor
        version: v1

buckets:
  - name: raw_videos
    namespace: video_search
    schema:
      properties:
        video: { type: video }
post/v1/manifest/apply

Query parameters

dry_runboolean

Validate only, don't create resources

Validate only, don't create resources

Response

Successful Response

successboolean required

Whether all resources were created successfully

created_countinteger

Number of resources created

failed_countinteger

Number of resources that failed

skipped_countinteger

Number of resources skipped

errorsstring[]

Error messages

rollback_performedboolean

Whether rollback was performed due to failure

dry_runboolean

Whether this was a dry run (no changes made)

Example response

{
  "created_count": 2,
  "dry_run": false,
  "errors": [],
  "failed_count": 0,
  "resources": [
    {
      "name": "video_search",
      "resource_id": "ns_abc123",
      "resource_type": "namespace",
      "status": "created"
    },
    {
      "name": "raw_videos",
      "resource_id": "bkt_xyz789",
      "resource_type": "bucket",
      "status": "created"
    }
  ],
  "rollback_performed": false,
  "skipped_count": 0,
  "success": true
}