Building a webhook integration? Read the webhook guide for signatures, retries, event schemas, and troubleshooting.
apiDeterministic

Save knowledge draft

PUT /api/agents/knowledge

Save the full merged knowledge object as an inactive draft. Read first, preserve existing entries, show proposed changes, and use current draft createdAt (null only when no draft exists).

Parameters

workspaceId
string
No description.
knowledgerequired
object
No description.
changeSummaryrequired
string
No description.
expectedDraftCreatedAtrequired
string | null
No description.

Example

REST requestbash
curl -X PUT "https://app.pipeline.help/api/agents/knowledge" \
-H "Authorization: Bearer $PIPELINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"knowledge":{"offer":"example","approvedFacts":["example"],"faqs":[{"question":"example","answer":"example"}],"objections":[{"objection":"example","response":"example"}],"proof":["example"],"assets":[{"name":"example","description":"example","url":"https://example.com"}],"tone":["example"],"booking":["example"],"escalation":["example"]},"changeSummary":"example","expectedDraftCreatedAt":"2026-01-01T00:00:00.000Z"}'

Response

Success response schemajson schema
{
"type": "object",
"properties": {
"knowledge": {
"type": "object",
"properties": {
"skillId": {
"type": "string"
},
"overlayId": {
"type": [
"string",
"null"
]
},
"draft": {
"type": [
"object",
"null"
],
"properties": {
"versionNumber": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"archived"
]
},
"changeSummary": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"activatedAt": {
"type": [
"string",
"null"
]
},
"knowledge": {
"type": "object"
}
},
"required": [
"versionNumber",
"status",
"changeSummary",
"createdAt",
"activatedAt",
"knowledge"
]
},
"published": {
"type": [
"object",
"null"
],
"properties": {
"versionNumber": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"archived"
]
},
"changeSummary": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"activatedAt": {
"type": [
"string",
"null"
]
},
"knowledge": {
"type": "object"
}
},
"required": [
"versionNumber",
"status",
"changeSummary",
"createdAt",
"activatedAt",
"knowledge"
]
},
"versions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"archived"
]
},
"changeSummary": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"activatedAt": {
"type": [
"string",
"null"
]
},
"knowledge": {
"type": "object"
}
},
"required": [
"versionNumber",
"status",
"changeSummary",
"createdAt",
"activatedAt",
"knowledge"
]
}
}
},
"required": [
"skillId",
"overlayId",
"draft",
"published",
"versions"
]
}
},
"required": [
"knowledge"
]
}

HTTP errors

401
Missing or invalid API key.
403
Authenticated but not permitted for the workspace or resource.
404
The requested resource was not found.
Pipeline REST API reference | Pipeline