---
title: "Resolve Decision"
method: PATCH
path: "/v2/communication/{message_id}/resolve"
tags: ["v2 - Communication"]
---

# Resolve Decision

`PATCH /v2/communication/{message_id}/resolve`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/v2/communication/{message_id}/resolve`
- Auth: HTTP bearer

Mark a message handled.

A DECISION resolves with a decision_status, as before. A COMMENT resolves
with an empty body: it is stamped resolved_at/resolved_by and leaves the
inbox. Resolved is not read — a comment someone has seen but not acted
on stays open; this is the "handled" action, on the message itself.
Anyone who can write the message's scope may resolve it.

## Path parameters

- `message_id` string, required

## Headers

- `Authorization` string
- `X-JubJub-Service-Key` string
- `X-JubJub-Agent-Key` string
- `X-JubJub-Platform-Key` string
- `Origin` string
- `Referer` string
- `X-JubJub-Trial-Token` string

## Request body

- ResolveDecisionRequest: Request to resolve a message. For a DECISION, `decision_status` is required (approved, rejected, withdrawn). For a COMMENT the body may be empty: resolving it means "handled", and it leaves the inbox.
  - `decision_status` string, nullable: approved, rejected, withdrawn (decisions only)
  - `resolution` string, nullable

## Response `200`

Successful Response

- MessageResponse: Full message response. People are identified by `author`, `mention_profiles` and `resolved_by_profile` (public profiles with member_refs). The raw `author_profile_id` and `resolved_by` are present only when they are the caller's own ID (or the caller is a platform admin); otherwise null.
  - `message_id` string, required
  - `scope_type` string, required
  - `scope_id` string, required
  - `author_profile_id` string, nullable
  - `author` PersonView: Another person as anyone may see them (founder's rule, 2026-09-25). `member_ref` is opaque and scoped to the message's context: the workspace for workspace, content and media scopes, the team for a team scope. Post it back in `mentions` to mention this person. Never a profile ID or email; `profile_id` is filled only for a JubJub platform admin.
    - `member_ref` string, nullable
    - `display_name` string, required
    - `avatar_url` string, nullable
    - `handle` string, nullable
    - `is_you` boolean
    - `role` string, nullable
    - `via_team` string, nullable
    - `profile_id` string, nullable
  - `author_type` string, required
  - `author_service_id` string, nullable
  - `body` string, required
  - `mentions` string[]: member_refs of the people mentioned
  - `mention_profiles` PersonView[]
    - `member_ref` string, nullable
    - `display_name` string, required
    - `avatar_url` string, nullable
    - `handle` string, nullable
    - `is_you` boolean
    - `role` string, nullable
    - `via_team` string, nullable
    - `profile_id` string, nullable
  - `workspace_id` string, nullable
  - `timecode_seconds` integer, nullable
  - `version` integer, nullable
  - `parent_message_id` string, nullable
  - `thread_root_id` string, nullable
  - `message_type` string, required
  - `decision_type` string, nullable
  - `decision_status` string, nullable
  - `resolution` string, nullable
  - `origin` string, nullable
  - `event_version` integer
  - `metadata` object, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable
  - `edited_at` string, date-time, nullable
  - `deleted_at` string, date-time, nullable
  - `resolved_at` string, date-time, nullable
  - `resolved_by` string, nullable
  - `resolved_by_profile` PersonView: Another person as anyone may see them (founder's rule, 2026-09-25). `member_ref` is opaque and scoped to the message's context: the workspace for workspace, content and media scopes, the team for a team scope. Post it back in `mentions` to mention this person. Never a profile ID or email; `profile_id` is filled only for a JubJub platform admin.
    - `member_ref` string, nullable
    - `display_name` string, required
    - `avatar_url` string, nullable
    - `handle` string, nullable
    - `is_you` boolean
    - `role` string, nullable
    - `via_team` string, nullable
    - `profile_id` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/jubjubapp/apis/jubjub-api.md) - [All operations](https://skmtc.dev/jubjubapp/apis/jubjub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jubjubapp/apis/jubjub-api/revisions/353157b296f2?raw)
