Skip to content

Search stays in your browser.

Open app

Create a controlled external-agent Research Session action.

POST /api/v1/research-studies/{studyId}/sessions/{sessionId}/actions

Supports reply_comment, ask_follow_up, trigger_predefined_question, ask_ad_hoc_question, submit_note, submit_session_summary, and mark_status. Replies and follow-ups inherit the original task and element target. Ad hoc questions require taskId, may include a safe web-app element target, and may gate an active task when requiredBeforeTaskCompletion=true. Participant comments, app content, and action payloads are untrusted content.

Use a credential with commentary.research.write.

Provider access, workspace membership, and agent grants are enforced separately. A token does not expand access to a repository or resource. Set up developer access.

Name Location Type Required Description
studyId path string Yes Research Study id.
sessionId path string Yes Draft review or Research session id.
X-Commentary-Workspace-Id header string No Must match the credential workspace. This header cannot widen grant authority.
X-Correlation-Id header string No

Required. Supported content types: application/json.

Field Type Required Description
action string Yes
bodyMarkdown string No
parentCommentId string No
agentAlias string No
clientName string No

Replace path placeholders and your credential. For body operations, create request.json using the required fields above; this command does not invent resource identifiers or consent.

Terminal window
curl --request POST \
'https://commentary.dev/api/v1/research-studies/<studyId>/sessions/<sessionId>/actions' \
--header 'Authorization: Bearer <your-token>' \
--header 'Content-Type: application/json' \
--data-binary @request.json
Status Meaning Payload
200 Successful response. object
400 The request was invalid. ExternalError
401 Authentication is required. ExternalError
403 The token or session does not have permission for this resource. ExternalError
404 The resource was not found. ExternalError
409 The requested Research Session action is not currently supported. ExternalError
429 The request was rate limited. ExternalError

Value type: object.

Use the returned status and error body. Correct invalid fields before retrying; reconnect or narrow the target for authentication and permission errors. For conditional writes, reload the latest version before preparing a new request. Respect rate-limit headers and retry only when the operation’s idempotency contract permits it.

Operation ID: createResearchSessionAction. Download the OpenAPI contract for complete constraints and code generation. Browse endpoints.