Logo
Search
Docs

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 UUID
Stored in knowledge_articles.id

Request body

title string Optional
Validation: sometimes|string|max:255
Stored in knowledge_articles.title
content string Optional
Validation: sometimes|string
Stored in knowledge_articles.content

Errors

StatusMeaningBody
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"
    }
}