Areas
The named parts of the workspace a teammate's reach is granted in
On this page(3 sections)
An area is a name over a set of folders, and it is the unit access is handed out in: widening what a team sees is one edit here rather than one edit per person. Reading them is anybody's, since a fenced person is shown the name of the fence they are behind; writing one changes who sees what on their next request, so both writes are the sandbox owner's. An area people still hold cannot be deleted, because a grant pointing at nothing is a fence with no answer.
GET/areasThe named parts of the workspace
Each area with the folders it admits. Access is granted in these rather than in folder lists per person, so widening what a team sees is one edit here instead of one edit per member.
What you send
Nothing. Call it as it is.
What comes back
| Field | Type |
|---|---|
areasEvery named part of the workspace… | object[] |
idThe area's id, the name a… | string |
labelWhat to call it on screen | string |
briefWhat this part of the workspace… | string |
foldersThe folders it admits, workspace-relative | string[] |
curl "$SANDBOX/areas" \
-H "x-intentic-control: $INTENTIC_TOKEN"import { sandbox } from "@intentic/sandbox-client";
const result = await sandbox.areas.list();POST/areasCreate or edit an area
Writes the whole area; sending an id that exists edits it. Editing the folders of an area people already hold changes what those people see on their next request, which is why this is the sandbox owner's to do and why the file it writes is tracked and reviewable.
What you send
| Field | Type | Where |
|---|---|---|
idrequiredThe area's id, the name a… | string | body |
labelWhat to call it on screen | string | body |
briefWhat this part of the workspace… | string | body |
foldersrequiredThe folders it admits, workspace-relative | string[] | body |
What comes back
| Field | Type |
|---|---|
okAlways true | true |
curl -X POST "$SANDBOX/areas" \
-H "x-intentic-control: $INTENTIC_TOKEN" \
-H "content-type: application/json" \
-d '{"id":"a1b2c3d4","label":"Nightly changelog","brief":"…","folders":["…","…"]}'import { sandbox } from "@intentic/sandbox-client";
const result = await sandbox.areas.save({
"id": "a1b2c3d4",
"label": "Nightly changelog",
"brief": "…",
"folders": [
"…",
"…"
]
});DELETE/areas/{id}Delete an area
Removes the name and the folders behind it. Refused while a member still points at it, since nobody chose what such a row should then mean; move them onto another area first, or off areas entirely.
What you send
| Field | Type | Where |
|---|---|---|
idrequiredWhich area | string | address |
What comes back
| Field | Type |
|---|---|
okAlways true | true |
curl -X DELETE "$SANDBOX/areas/a1b2c3d4" \
-H "x-intentic-control: $INTENTIC_TOKEN"import { sandbox } from "@intentic/sandbox-client";
const result = await sandbox.areas.remove({
"id": "a1b2c3d4"
});