Publish operator API service¶
Publish the specified version of the operator as a callable API service. Save the service name after successful publishing; it can be called after the service is enabled.
POST https://moi.matrixorigin.cn/newmoi/workflow/v2/workitems/catalog/$NODE_ID/api-service
Preparation before calling¶
First View operator list to confirm the operator to be released and its version. Prepare the personal access token, target workspace ID, operator ID, and version that has access to the target workspace.
Request body¶
node_idstringRequired- The operator ID to be published. It can be obtained from the [View operator list](../operator-catalog/list-operators.md) response.
versionstringRequired- The operator version to be released.
compute_resource_idstring- Specifies the computing resource ID for the service.
timeout_secondsinteger- Single call timeout, in seconds. When 0 is not passed or 0 is passed, it is 30, and the maximum value is 300.
max_concurrencyinteger- The maximum number of concurrent calls, cannot be a negative number.
rate_limit_per_mininteger- Maximum number of calls per minute, cannot be negative.
Request example
curl -X POST "https://moi.matrixorigin.cn/newmoi/workflow/v2/workitems/catalog/$NODE_ID/api-service" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d "{
\"version\": \"$VERSION\",
\"timeout_seconds\": 30
}"
Successful response¶
The response returns service identification, status, calling address and configuration. After successful publishing, the service can be called; use the returned service name as it is for call service.
The response fields are as follows.
codestring- OK on success.
msgstring- OK on success.
data.service.api_service_idstring- Service ID.
data.service.operator_idinteger- Published custom operator ID.
data.service.node_idstring- Published operator ID.
data.service.versionstring- Published operator version.
data.service.service_namestring- Service name.
data.service.statusstring- Service status. ready means it can be called.
data.service.result_modestring- The result return mode of the service.
data.service.auth_modestring- The authentication mode of the service.
data.service.methodstring- The HTTP method used to call the service.
data.service.pathstring- Relative path to the calling service.
data.service.workflow_idstring- The workflow ID associated with the service; returned if there is a value.
data.service.workflow_def_idstring- The workflow definition ID associated with the service; returned if there is a value.
data.service.workflow_version_idstring- The workflow version ID associated with the service; returned if there is a value.
data.service.compute_resource_idstring- The computing resource ID used; only returned if there is a value.
data.service.timeout_secondsinteger- Timeout for a single call, in seconds; returned if there is a value.
data.service.max_concurrencyinteger- The maximum number of concurrent calls; returned when there is a value.
data.service.rate_limit_per_mininteger- Maximum number of calls per minute; returned if there is a value.
data.service.input_schemastring- The serialized content of the input schema; returned if there is a value.
data.service.output_schemastring- Output the serialized content of schema; return if there is a value.
data.service.invokeobject- Information required to call the service; returned if there is a value.
data.service.deploymentobject- Service deployment information; returned if there is a value.
Successful response example
{
"code": "OK",
"msg": "OK",
"data": {
"service": {
"api_service_id": "api_2e859efcedc1e0efea48b465b2197784",
"node_id": "moi:data.sql.process",
"version": "v1",
"service_name": "operator-api-37f61ebdaa18aa51",
"status": "ready",
"method": "POST",
"path": "/workspaces/ws-001/dynamic-services/invoke",
"result_mode": "<result_mode>",
"invoke": {
"method": "POST",
"path": "/workspaces/ws-001/dynamic-services/invoke",
"result_mode": "<result_mode>",
"body_example": {
"service_name": "operator-api-37f61ebdaa18aa51",
"payload": {}
}
}
}
}
}
Error response¶
codestring- Error code.
msgstring- Readable error message.
datanull- `null` in an error response.
Error response example
{
"code": "ErrParamInvalid",
"msg": "请求参数无效",
"data": null
}
Follow-up operations¶
After completion View operator API service configuration confirms the current status.