Create a revision
POST
/v1/data-contracts/{contractId}/revisionscurl -X POST 'https://api.embodiflow.io/v1/data-contracts/{contractId}/revisions' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{
"specJson": {
"contractVersion": "embodiflow-data-contract/v1",
"description": "string",
"metadataEnvelope": {
"requiredFields": [
"string"
],
"fieldTypes": {},
"allowExtraFields": true
},
"canonicalSchema": {
"requiredFields": [
"string"
],
"fieldTypes": {},
"allowExtraFields": true
},
"topics": [
{
"name": "string",
"required": true,
"messageType": "string"
}
],
"features": [
{
"name": "string",
"required": true,
"dtype": "string"
}
],
"blocking": true
},
"blocking": true,
"publish": true
}'认证
每个请求都需要携带个人访问令牌(PAT)。
- Authorization: Bearer PAT
路径参数
- contractIdstring必填
请求头参数
- Idempotency-Keystring
Optional idempotency key, at most 255 characters (UUIDv4 recommended). A repeated key returns the first response byte-for-byte, including a 5xx. The same key with a different body, or a second in-flight request, returns 409 IDEMPOTENCY_CONFLICT. Keys are unique per tenant and retained for 24 hours.
请求体
Content-Typeapplication/json
- specJsonobject必填
- contractVersionstring必填
- descriptionstring | null
- metadataEnvelopeobject | null
- canonicalSchemaobject | null
- topicsarray<object> | null
- featuresarray<object> | null
- blockingboolean
- blockingboolean
- publishboolean
响应
Success
- dataobject必填
- idstring必填
- tenantIdstring必填
- projectIdstring必填
- contractIdstring必填
- revisionnumber必填
- statusstring必填可选值draftpublishedarchived
- specJsonobject必填
- blockingone of必填
- publishedAtstring | null必填
- archivedAtstring | null必填
- createdAtstring必填
响应示例
{
"data": {
"id": "string",
"tenantId": "string",
"projectId": "string",
"contractId": "string",
"revision": 0,
"status": "draft",
"specJson": {
"contractVersion": "string",
"description": "string",
"metadataEnvelope": {
"requiredFields": [
"string"
],
"fieldTypes": {},
"allowExtraFields": false
},
"canonicalSchema": {
"requiredFields": [
"string"
],
"fieldTypes": {},
"allowExtraFields": false
},
"topics": [
{
"name": "string",
"required": false,
"messageType": "string"
}
],
"features": [
{
"name": "string",
"required": false,
"dtype": "string"
}
],
"blocking": false
},
"blocking": false,
"publishedAt": "string",
"archivedAt": "string",
"createdAt": "string"
}
}服务器https://api.embodiflow.io/v1https://api.embodiflow.dev/v1