Create a source-asset upload intent
Proposed operation. Records one bounded source-asset declaration and returns a short-lived direct-to-storage upload target. Kallfi validates the exact uploaded bytes asynchronously; partner application servers do not send large media through this JSON API process.
Authorization
bearerAuth Organization-scoped bearer credential. Credentials are scoped, revocable, and never represented by a Soul or operation ID.
In: header
Header Parameters
Opaque replay key for this mutation. Repeating the same key with the same request returns the original result; reusing it with different input returns a conflict.
1 <= length <= 128Request 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
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/soul-source-assets" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "type": "appearance_reference", "media": { "content_type": "string", "byte_length": 1, "sha256": "stringstringstringstringstringstringstringstringstringstringstri" }, "rights_attestation": { "basis": "owned_or_licensed", "subject_consent": true } }'{ "source_asset": { "source_asset_id": "string", "type": "appearance_reference", "status": "upload_pending", "media": { "content_type": "string", "byte_length": 1, "sha256": "stringstringstringstringstringstringstringstringstringstringstri" }, "annotations": [ { "request_at_ms": 0, "behavior_start_ms": 0, "behavior_end_ms": 1, "user_request": "string" } ], "rights_attestation": { "basis": "owned_or_licensed", "subject_consent": true }, "upload": { "method": "PUT", "url": "http://example.com", "expires_at": "2019-08-24T14:15:22Z", "headers": { "property1": "string", "property2": "string" } }, "created_at": "2019-08-24T14:15:22Z" }, "operation": { "operation_id": "string", "status": "accepted", "resource": { "type": "source_asset", "id": "string" }, "progress_percent": 0, "quote": { "quote_id": "string" }, "usage": { "reserved_gems": 0, "consumed_gems": 0, "released_gems": 0 }, "failure": { "code": "string", "message": "string", "retryable": true }, "output": { "kind": "text", "text": "string", "media": [ { "kind": "image", "url": "http://example.com" } ] }, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "links": { "self": "http://example.com" }, "kind": "source_asset_validation" }}