Shared with me update
PUT
https://app.sulus.ai/api/v1/kb/shared-with-me/{article}
Edit a document shared with the current user (title/content only)
Authentication
Send a bearer token created on your dashboard's Developer page:
Authorization: Bearer <YOUR_API_KEY>
Path parameters
article
string
Required
The document.
Validation:
the document's UUIDStored in
knowledge_articles.idRequest body
title
string
Optional
Validation:
sometimes|string|max:255Stored in
knowledge_articles.titlecontent
string
Optional
Validation:
sometimes|stringStored in
knowledge_articles.contentErrors
| Status | Meaning | Body |
|---|---|---|
404 |
Document not found, or it does not belong to that library | {"message":"No query results for model [App\\Models\\KnowledgeArticle] <id>."} |
403 |
No write access — view-only share, or not shared at all | {"message":"This action is unauthorized."} |
422 |
Validation failed | {"message":"…","errors":{"field":["…"]}} |
401 |
Missing or invalid bearer token | |
403 |
Feature knowledge_docs not enabled for the account |
Notes
- status cannot be changed through this endpoint — recipients may edit content but never publish/unpublish.
- A resync runs synchronously if the content or title actually changed AND the document is currently published.
curl --request PUT \
--url https://app.sulus.ai/api/v1/kb/shared-with-me/{article} \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"content": "<h2>Returns</h2><p>Items can be returned within 45 days of purchase with a receipt.</p>"
}'
import requests
url = "https://app.sulus.ai/api/v1/kb/shared-with-me/{article}"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}
payload = {
"content": "<h2>Returns</h2><p>Items can be returned within 45 days of purchase with a receipt.</p>"
}
response = requests.put(url, json=payload, headers=headers)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://app.sulus.ai/api/v1/kb/shared-with-me/{article}"
payload := strings.NewReader(`{
"content": "<h2>Returns</h2><p>Items can be returned within 45 days of purchase with a receipt.</p>"
}`)
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response
200
{
"message": "Document updated.",
"data": {
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"title": "Return Policy",
"content": "<h2>Returns</h2><p>Items can be returned within 45 days of purchase with a receipt.</p>",
"status": "published",
"updated_at": "2026-07-30T15:05:33.000000Z"
}
}
Response — PUT
/shared-with-me/{article}
200
{
"message": "Document updated.",
"data": {
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"title": "Return Policy",
"content": "<h2>Returns</h2><p>Items can be returned within 45 days of purchase with a receipt.</p>",
"status": "published",
"updated_at": "2026-07-30T15:05:33.000000Z"
}
}