API reference

Members

Give organization members view or use on a session, list them and revoke them.

GET/v1/dev/sessions/{session_id}/members

List members

Owner and members.

Permission: dev:sessions.read

Parameters

NameTypeRequiredDescription
session_idpathstringRequiredThe session's ID.
cursorquerystringOptional
limitqueryintegerOptional

Response200 OK

dataarray of objectsRequired
data[].created_atstring (date-time)Required
data[].granted_bystringRequired
data[].idstringRequired
data[].memberstringRequired
data[].revoked_atstring (date-time) or null
data[].rolestringRequired
One of view, use
data[].session_idstringRequired
has_morebooleanRequired
next_cursorstring or null
curl "$CIRESK_API/v1/dev/sessions/devs_0166ba8e973a3df1b173b30df1cb8f2f/members" \
  -H "Authorization: Bearer $CIRESK_KEY"
POST/v1/dev/sessions/{session_id}/members

Share a session

Grant an organisation member view or use on this session.

Owner only, and a person (an agent cannot share). Every renewal and every events request re-checks that the session's view is within the member's current view and revokes the grant when it is not. Refused above the organisation's sharing ceiling (403 sharing_ceiling), to someone outside the organisation (404 not_a_member), and to a member whose path view is narrower than the session's (409 member_view_narrower). A session whose agents reach the mcp gateway for its owner takes no use member (409 delegated_session), since that member's agent would act with the owner's rights in other products. The member then attaches their own device with dev.sessions.attach.

Permission: dev:sessions.share

Parameters

NameTypeRequiredDescription
session_idpathstringRequiredThe session's ID.

Request body

memberstringRequired
a principal subject or an e-mail address core/identity resolves inside the organisation
rolestringRequired
One of view, use

Response201 Created

created_atstring (date-time)Required
granted_bystringRequired
idstringRequired
memberstringRequired
revoked_atstring (date-time) or null
rolestringRequired
One of view, use
session_idstringRequired

Errors

  • 403not_allowed, sharing_ceiling
  • 404not_a_member
  • 409member_view_narrower, delegated_session, session_not_running (the session has ended)
curl -X POST "$CIRESK_API/v1/dev/sessions/devs_0166ba8e973a3df1b173b30df1cb8f2f/members" \
  -H "Authorization: Bearer $CIRESK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "member": "user:[email protected]",
    "role": "view"
  }'
DELETE/v1/dev/sessions/{session_id}/members/{member_id}

Revoke a member

Revoke a member and every device grant under it; the relay closes their connections at once.

Owner, or a principal with dev:sessions.kill (audited).

Permission: dev:sessions.share

Parameters

NameTypeRequiredDescription
session_idpathstringRequiredThe session's ID.
member_idpathstringRequiredThe member's ID.

Response204 No Content

revoked

Errors

curl -X DELETE "$CIRESK_API/v1/dev/sessions/devs_0166ba8e973a3df1b173b30df1cb8f2f/members/devm_0147852a59780ff58c41c82e4f8de108" \
  -H "Authorization: Bearer $CIRESK_KEY"