Skip to main content
POST
/
v1
/
namespaces
/
{namespace_id}
/
plugins
Upload a custom plugin
curl --request POST \
  --url https://api.mixpeek.com/v1/namespaces/{namespace_id}/plugins \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file' \
  --form 'name=<string>' \
  --form 'version=<string>' \
  --form 'description=<string>'
{
  "success": true,
  "plugin_id": "my_plugin_1_0_0",
  "validation_status": "passed",
  "deployment_status": "deployed",
  "feature_uri": "mixpeek://[email protected]",
  "s3_archive_url": "s3://mixpeek-plugins/ns_abc123/plugins/my_plugin_1_0_0.tar.gz"
}

Headers

Authorization
string

REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.

Examples:

"Bearer YOUR_API_KEY"

"Bearer YOUR_STRIPE_API_KEY"

Path Parameters

namespace_id
string
required

Body

multipart/form-data
file
file
required

Plugin archive (.tar.gz)

name
string
required

Plugin name (e.g., 'my_plugin')

version
string
required

Plugin version (e.g., '1.0.0')

description
string

Optional plugin description

Response

Plugin uploaded successfully

Response model for plugin upload.

success
boolean
required

Whether upload succeeded

plugin_id
string
required

Unique plugin identifier

validation_status
enum<string>
required

Validation status

Available options:
passed,
failed,
pending
deployment_status
enum<string>
required

Deployment status

Available options:
deployed,
pending,
failed,
not_deployed
feature_uri
string
required

Feature URI for the plugin

s3_archive_url
string
required

S3 URL where archive is stored

validation_errors
string[] | null

Validation error messages if failed