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 compatibilitybash
curl -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.
bash
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.
ParameterValuesDescriptionscope``all | folders``folders requires folderIds``folderIdsnumber[]folder scope idsaccess``read | read_calendar | read_calendar_writecalendar accessnotesAccess``read | write | editnotes permissionlabelstringlink labelexpiresIn``1h | 24h | 7d | 30d | 90d | neverexpirationrequireSignInbooleanDefaults to true. If true, /a/<token> and /shared/<token> require a signed-in Aicoo user. Signed-in guest sessions can track guestUserId, guestName, guestUsername, and guestEmail. Set false only for anonymous public links.
OperationreadwriteeditSearch/read notesyesyesyesCreate notesnoyesyesEdit notesnonoyesSnapshotsnonoyes
bash
curl -s -H "Authorization: Bearer ${AICOO_API_KEY:-$PULSE_API_KEY}" \
"https://www.aicoo.io/api/v1/os/network" | jq .
bash
# 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 .
bash
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 .
bash
# 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:
bash
# 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