Download OpenAPI specification:
Owner-paid on-chain publication of entities created on this server. The server prepares an unsigned registry transaction, the owner's wallet sends and pays for it (or signs it offline for the server to relay), and the server confirms the receipt. The server never holds a key for it. Enabled with --publish; otherwise every route answers 403 so a disabled server is distinguishable from a wrong URL.
Rebuild the entity from the definition retained when it was created, store its artifact durably, and return the unsigned registry transaction. The caller must own the entity. A connector's dependencies must already be registered with the artifacts it was built against; they are never published recursively. Deterministic reverts (name taken, stale nonce, identity mismatch) are reported here, before the owner pays.
| kind required | string (EntityKind) Enum: "transformation" "condition" "connector" Kind of entity to publish. Any other value is 404. |
| name required | string (EntityName) [ 1 .. 128 ] characters ^[A-Za-z_][A-Za-z0-9_]*$ Entity name. Starts with a letter or '', contains only letters, digits and '', at most 128 characters. |
| relay | boolean Default: false Also return |
{- "name": "string",
- "relay": false
}{- "status": "prepared",
- "kind": "transformation",
- "name": "string",
- "transaction": {
- "from": "string",
- "to": "string",
- "data": "string",
- "chainId": "string",
- "gas": "string"
}, - "address": "string",
- "content_hash": "string",
- "publication_nonce": 0,
- "deadline": 0,
- "signing": {
- "type": "0x2",
- "nonce": "string",
- "maxFeePerGas": "string",
- "maxPriorityFeePerGas": "string",
- "value": "0x0"
}
}Broadcast a publication transaction the owner signed offline, through the server's own chain provider, so the owner needs no RPC endpoint. The owner still pays for it. The server forwards it only when the caller signed it, it calls the configured registry on its chain with no value, it publishes exactly the named entity with this content hash, and a dry run succeeds within its gas limit. Confirm it with POST /publish/{kind}.
| kind required | string (EntityKind) Enum: "transformation" "condition" "connector" Kind of entity to publish. Any other value is 404. |
| name required | string (EntityName) [ 1 .. 128 ] characters ^[A-Za-z_][A-Za-z0-9_]*$ Entity name. Starts with a letter or '', contains only letters, digits and '', at most 128 characters. |
| content_hash required | string (Hash32) ^(0x)?[a-fA-F0-9]{64}$ 32-byte hex value. |
| raw_tx required | string^0x02[0-9a-fA-F]+$ Signed type-2 transaction: |
{- "name": "string",
- "content_hash": "string",
- "raw_tx": "string"
}{- "status": "pending",
- "tx_hash": "string"
}Look the transaction receipt up once. Repeat the request while it answers 202; that is the status check. The registry projection of the event, not this response, is what the read endpoints serve.
| kind required | string (EntityKind) Enum: "transformation" "condition" "connector" Kind of entity to publish. Any other value is 404. |
| name required | string (EntityName) [ 1 .. 128 ] characters ^[A-Za-z_][A-Za-z0-9_]*$ Entity name. Starts with a letter or '', contains only letters, digits and '', at most 128 characters. |
| content_hash required | string (Hash32) ^(0x)?[a-fA-F0-9]{64}$ 32-byte hex value. |
| tx_hash required | string Hash of the sent publication transaction. |
{- "name": "string",
- "content_hash": "string",
- "tx_hash": "string"
}{- "status": "mined",
- "kind": "transformation",
- "name": "string",
- "tx_hash": "string",
- "block_number": 0,
- "address": "string",
- "owner": "string",
- "content_hash": "string"
}