Create and manage secure, shareable links to a user's agent.
AICOO_API_KEY must be set; legacy PULSE_API_KEY is also acceptedhttps://www.aicoo.io/api/v1${AICOO_API_KEY:-$PULSE_API_KEY} for backward compatibilitycurl -s -H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
"https://www.aicoo.io/api/v1/os/status" | jq .
If contextCount is 0, run context-sync first.
curl -s -X POST "https://www.aicoo.io/api/v1/os/share" \
-H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"scope":"all",
"access":"read",
"notesAccess":"read",
"label":"For investors",
"expiresIn":"7d",
"requireSignIn":true
}' | jq .
Always report:
Default behavior: new links require sign-in (requireSignIn:true). Only set requireSignIn:false when the user explicitly asks for an anonymous public link.
| Parameter | Values | Description | |||||
|---|---|---|---|---|---|---|---|
| ----------- | -------- | ------------- | |||||
scope | all \ | folders | folders requires folderIds | ||||
folderIds | number[] | folder scope ids | |||||
access | read \ | read_calendar \ | read_calendar_write | calendar access | |||
notesAccess | read \ | write \ | edit | notes permission | |||
label | string | link label | |||||
expiresIn | 1h \ | 24h \ | 7d \ | 30d \ | 90d \ | never | expiration |
requireSignIn | boolean | Defaults to true. If true, /a/ and /shared/ require a signed-in Aicoo user. Signed-in guest sessions can track guestUserId, guestName, guestUsername, and guestEmail. Set false only for anonymous public links. |
| Operation | read | write | edit |
|---|---|---|---|
| ----------- | ------ | ------- | ------ |
| Search/read notes | yes | yes | yes |
| Create notes | no | yes | yes |
| Edit notes | no | no | yes |
| Snapshots | no | no | yes |
curl -s -H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
"https://www.aicoo.io/api/v1/os/network" | jq .
# update
curl -s -X PATCH "https://www.aicoo.io/api/v1/os/share/{linkId}" \
-H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"notesAccess":"write","expiresIn":"30d","requireSignIn":true}' | jq .
# revoke
curl -s -X DELETE "https://www.aicoo.io/api/v1/os/share/{linkId}" \
-H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" | jq .
curl -s -H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
"https://www.aicoo.io/api/v1/os/share/list?status=active&limit=20" | jq .
# inspect folders first
curl -s -H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
"https://www.aicoo.io/api/v1/os/folders" | jq .
# create folder-scoped link
curl -s -X POST "https://www.aicoo.io/api/v1/os/share" \
-H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"scope":"folders","folderIds":[5,12],"access":"read","notesAccess":"write","label":"Team collaborator","requireSignIn":true}' | jq .
Link notes are stored in links/ folder. Edit policy by searching notes then patching note content:
# find link policy note
curl -s -X POST "https://www.aicoo.io/api/v1/os/notes/search" \
-H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"query":"For-Investors"}' | jq .
# edit policy note content
curl -s -X PATCH "https://www.aicoo.io/api/v1/os/notes/123" \
-H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"content":"...\n\n## Policy\n\nBe professional, concise, and do not disclose confidential numbers."}' | jq .
requireSignIn:false is explicitly setnotesAccess: "edit" carefully共 1 个版本