Create an Artifact

POST
/v1/scopes/{scope_id}/artifacts

Dispatch the family-specific creation command through the owning Family writer and atomically create revision one, its derived Family state, and its system provenance Source. Handoff is the Scope singleton: Create returns 409 when it already exists and callers must use Replace to update it. Creating a Prompt requires scope.admin because its configuration affects the whole Scope; other families require scope.contribute. Topic Memory accepts complete title, summary, and detail text without semantic generation; its active head, chunks, and configured retrieval indexes are committed atomically.

Authorization

BearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

scope_id*string
Match.*\S.*
Length1 <= length <= 256

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/scopes/string/artifacts" \  -H "Content-Type: application/json" \  -d '{    "family": "atomic-memory",    "content": {      "kind": "string",      "text": "string"    }  }'
{  "scope_id": "string",  "family": "memory",  "artifact_id": "string",  "revision": 1,  "sources": [    {      "source_type": "string",      "source_id": "string"    }  ],  "artifacts": [    {      "family": "string",      "artifact_id": "string",      "revision": 1    }  ]}