---
title: "Create Bill Comment"
method: POST
path: "/v2/bills/{billID}/comments"
tags: ["Routes", "Bills", "Comments"]
---

# Create Bill Comment

`POST /v2/bills/{billID}/comments`

Adds a comment to a Bill.

Parameters:

| Parameter | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
| billID | path | integer | yes |  | Bill identifier |
| comment | body | string | yes |  | Comment text |
| showExternalUsers | body | boolean | no | true | Visible to external users |

Responses:
- 201 Created: Returns commentID.

## Response `201`

201 Created

## Other responses

- `400` — The request was malformed — either invalid JSON syntax or a validation failure (missing required field, wrong type, etc.).
- `401` — No `Authorization` header was provided on the request.
- `403` — The supplied credentials are invalid, the customer account is inactive, or the credentials do not have permission to perform this action.
- `404` — The referenced resource does not exist or is not visible to the authenticated customer.
- `409` — The request conflicts with the current state of the resource (e.g. a uniqueness constraint or a referenced parent that is in the wrong state).
- `429` — The per-minute or per-hour rate limit for this credential and method has been exhausted. Inspect the `X-RateLimit-*` headers to determine when to retry.
- `500` — An unhandled server-side error. The body message is generic (`System unavailable...`) when the underlying cause is a database fault; otherwise it reflects the raised error.

---

[API](https://skmtc.net/limblecmms/apis/limble-api-v2.md) · [All operations](https://skmtc.net/limblecmms/apis/limble-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/limblecmms/limble-api-v2/versions/20801e23f7f2/schema)
