Publish one exact Artifact revision into another Scope

POST
/v1/artifact-publications

Memory publication is rejected until its complete family-owned state can be created atomically in the target Scope. Prompt publication is rejected because Prompt identities must be registered operation keys. Configure the target Scope through the Artifact Create and Replace APIs instead. Profile artifacts cannot be copied or published across Scopes, whether or not the target already has a Profile. Requests for these families return HTTP 422 with code artifact_publication_unsupported and details.family. Rejection creates no target Artifact or publication record; other supported families retain their existing behavior. Topic Memory publication requires scope.admin in both Scopes and atomically copies the exact revision with its retrieval indexes into a new target identity. Tags and direct Sources are not copied. Completed idempotent retries do not require embedding inference. Deliver a user-selected exact Artifact revision to an explicitly selected target Scope. Never infer latest, publish unrelated history, or treat a handoff preview as publication authority. The returned target artifact is independent; publication does not move Sources or authorize its execution.

Authorization

BearerAuth
AuthorizationBearer <token>

Bearer credential resolved to an opaque authenticated Principal by the Server deployment.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/artifact-publications" \  -H "Content-Type: application/json" \  -d '{    "source": {      "scope_id": "string",      "artifact": {        "family": "string",        "artifact_id": "string",        "revision": 1      }    },    "target_scope_id": "string",    "idempotency_key": "string"  }'
{  "source": {    "scope_id": "string",    "artifact": {      "family": "string",      "artifact_id": "string",      "revision": 1    }  },  "target": {    "scope_id": "string",    "artifact": {      "family": "string",      "artifact_id": "string",      "revision": 1    }  },  "content_digest": "string"}