Skip to main content
POST
/
provider-versions
Create Wheel Provider Version
curl --request POST \
  --url https://api.example.com/provider-versions \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "version": "<string>",
  "wheel_url": "<string>",
  "organization_id": "<string>",
  "sha256": "<string>",
  "package_name": "<string>",
  "schemas": {},
  "metadata": {
    "display_name": "<string>",
    "description": "<string>",
    "icon_url": "<string>",
    "tags": [
      "<string>"
    ]
  },
  "config_schema": {},
  "outputs_schema": {},
  "resource_schemas": {},
  "changelog": "<string>",
  "entrypoint": [
    "<string>"
  ]
}
'
{
  "prefix": "<string>",
  "name": "<string>",
  "version": "<string>",
  "runtime_version": "<string>",
  "canonical": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "wheel_url": "<string>",
  "wheel_sha256": "<string>",
  "package_name": "<string>",
  "entrypoint": [
    "<string>"
  ],
  "source_hash": "<string>",
  "build_id": "<string>",
  "schemas": [
    {}
  ],
  "changelog": "<string>",
  "status": "building",
  "published_at": "2023-11-07T05:31:56Z",
  "error_message": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.pragmatiks.io/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json

Request body for the wheel-based provider publish route.

Wheel-based publishing skips the in-API build step entirely: the publisher builds the wheel, runs schema extraction client-side, uploads the wheel to any HTTPS-reachable registry, then posts this payload to the API. The API persists a :class:ProviderVersion row pointing at the wheel and surfaces the schemas to dependents.

Attributes: organization_id: Legacy organization id of the publishing tenant. Current SDKs send a canonical name instead. name: Canonical provider name ("org/name" or "platform/name"). Legacy clients may send only the provider short name together with organization_id. version: Semantic version string (e.g. 1.0.0). wheel_url: HTTPS URL of the uploaded wheel. Any registry is accepted (PyPI, GitLab Package Registry, GCP Artifact Registry, private servers, …) as long as the URL ends in .whl and is reachable from the runtime container. The router normalises this to a canonical https:// form. sha256: Optional wheel digest supplied by current SDKs. When present, the API verifies the wheel bytes before persisting and stores the digest for runtime install verification. package_name: Optional importable package name inside the wheel. Current SDKs omit this; runtimes can infer common wheel layouts, and future callers should send it explicitly. schemas: Current SDK resource-schema map keyed by resource type. metadata: Current SDK catalog display metadata for first publish and platform provider updates. config_schema: Legacy JSON Schema for the provider's top-level config block, extracted client-side. None when the provider exposes no top-level config. outputs_schema: JSON Schema for the provider's outputs block, extracted client-side. None when the provider exposes no outputs. resource_schemas: Per-resource schema map keyed by resource type name. Empty when the provider exposes no resource types. changelog: Optional release notes for this version. entrypoint: Optional override of the runtime entrypoint command. None preserves the default python -m pragma_runtime.entrypoint.

name
string
required
Required string length: 1 - 200
version
string
required
wheel_url
string
required
organization_id
string | null
Minimum string length: 1
sha256
string | null
Pattern: ^[0-9a-f]{64}$
package_name
string | null
Required string length: 1 - 200
schemas
Schemas · object
metadata
ProviderVersionMetadata · object

Catalog display fields supplied when registering a provider version.

config_schema
Config Schema · object
outputs_schema
Outputs Schema · object
resource_schemas
Resource Schemas · object
changelog
string | null
entrypoint
string[] | null

Response

Successful Response

A published version of a provider.

Identity fields (frozen): prefix: Namespace token of the owning provider. name: Provider short name this version belongs to. version: Semantic version string (e.g., "1.0.0").

Build metadata: runtime_version: Pinned runtime version this version targets. wheel_url: HTTPS URL of the published Python wheel. Sole artifact pointer for wheel-published versions; see :attr:WheelProviderVersionCreate.wheel_url for accepted registry forms. wheel_sha256: Optional SHA-256 digest of the wheel bytes, verified at publish time and forwarded to runtime installs. package_name: Optional importable Python package name inside a wheel-published provider. When absent, the runtime attempts to infer it from installed wheel metadata. entrypoint: Optional override of the runtime entrypoint command (e.g. ["python", "-m", "custom_runtime"]). None keeps the default python -m pragma_runtime.entrypoint. source_hash: SHA-256 of the source tarball on legacy rows.

Provider introspection: schemas: Resource type schemas extracted from the provider.

State (system-managed): status: Build/publish lifecycle status. published_at: Timestamp when version was published. error_message: Error details when build fails.

prefix
string
required
name
string
required
version
string
required
runtime_version
string
required
canonical
string
required
read-only

Slash-joined prefix/name canonical string of the owning provider.

Returns: Display form of the provider identity this version belongs to.

created_at
string<date-time>
updated_at
string<date-time>
wheel_url
string | null
wheel_sha256
string | null
Pattern: ^[0-9a-f]{64}$
package_name
string | null
Required string length: 1 - 200
entrypoint
string[] | null
source_hash
string | null
build_id
string | null
schemas
Schemas · object[] | null
changelog
string | null
status
enum<string>
default:building

Build/publish status for a provider version.

Available options:
building,
published,
failed,
yanked
published_at
string<date-time> | null
error_message
string | null