# Edit a comment without checks

```http
PATCH https://secure.yoprint.com/v1/api/store/{team_slug}/comment/{id}
```

- API version: v1
- Operation ID: `v1_public_comment_update_patch`
- Section: Sales › [Comments](https://developer.yoprint.com/reference/comments.md)
- Web page: https://developer.yoprint.com/reference/comments/v1-comment-update-patch/
- Authentication: `Authorization: Bearer YOUR_API_KEY`

Use `PUT` to edit a comment. `PATCH` does the same but does not check `comment`: an empty `comment` is saved, and a missing one changes nothing.

## Permission

Any member of the team, for any comment on the team. It does not check who wrote the comment or whether you can see its order.

## Business rules

- With `PUT`, `comment` is required and must be text.
- Only `comment` can change. The author and what it is on stay the same.

## Side effects

- People with the order, job or purchase order open see the edit live. No email.

## Path parameters

- `team_slug` (string, required): Your team slug, shown as Team ID next to your API key in Profile. Example `your-team`.
- `id` (string, required): The comment's `id`. A hash id; unique keys and document numbers are refused with 404. Example `JiDNJJ08el0QrD`.

## Request body

Content type `application/json`, optional.

Fields:

- `comment` (string, optional): The new text, as HTML. Not checked.

### Example request

```bash
curl -X PATCH 'https://secure.yoprint.com/v1/api/store/your-team/comment/JiDNJJ08el0QrD' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'X-Yoprint-Decimal-Format: exact-v1' \
  -H 'Content-Type: application/json' \
  -d '{
    "comment": "<p>Customer approved the navy ink instead.</p>"
  }'
```

## Response

`200` Successful response.

Fields:

- `data` (object, required)
  - `comment` (string, optional): The comment as HTML.
  - `created_at` (string (date-time), optional)
  - `id` (string, optional)
  - `is_edited` (boolean, optional): True once the comment changed after it was written. Deleting and restoring also count.
  - `job_id` (string | null, optional): Set for comments on a job.
  - `job_name` (string | null, optional)
  - `job_scoped_id` (string | null, optional)
  - `order_id` (string | null, optional): Set for comments on a sales order, a quote or one of their jobs.
  - `purchase_order_id` (string | null, optional)
  - `trashed` (boolean, optional): True when the comment is deleted.
  - `type` (string, optional): `user_comment` for a comment written in YoPrint. `user` for one a team member sent by replying to a YoPrint email.
  - `updated_at` (string (date-time), optional)
  - `user_id` (string, optional): The hash id of the team member who wrote it.
- `status` (integer, required)
- `success` (boolean, required)

Example response:

```json
{
  "data": {
    "comment": "<p>Customer approved the navy ink instead.</p>",
    "created_at": "2026-11-03T09:30:00+00:00",
    "id": "JiDNJJ08el0QrD",
    "is_edited": true,
    "job_id": null,
    "job_name": null,
    "job_scoped_id": null,
    "order_id": "V4keXwwxMQyXw7",
    "purchase_order_id": null,
    "trashed": false,
    "type": "user_comment",
    "updated_at": "2026-11-03T10:05:00+00:00",
    "user_id": "VG7s3tFzyQbO2N"
  },
  "status": 200,
  "success": true
}
```

## Errors

- `401` The API key is missing or wrong (`unauthenticated`).
- `403` You are not allowed to do this. `api_access_not_in_plan`: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only `{"message": "Insufficient Permission"}`. Other refusals use the error envelope, with `unauthorized` or `user_is_not_authorized`.
- `404` Not found. `page_not_found`: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's. `code: null`, with a message that starts "No query results for": there is no record with that id.
  - When: No comment of this team has this id. Fix: Use a comment `id` from the order's comment list.

## Notes

- The HTML is stored as sent. Escape anything that came from untrusted input before you send it.

## Related

- [Get a comment](https://developer.yoprint.com/reference/comments/v1-comment-show.md): `GET /v1/api/store/{team_slug}/comment/{id}`
