---
title: "Update an Event Miscellaneous Expense/Credit"
method: PATCH
path: "/v1/events/miscexpensecredit"
tags: ["Misc. Expenses/Credits"]
---

# Update an Event Miscellaneous Expense/Credit

`PATCH /v1/events/miscexpensecredit`

## Request

- Base URL: `https://api.exhibitday.com`
- URL: `https://api.exhibitday.com/v1/events/miscexpensecredit`
- Auth: one of:
  - API key in header `api_key`
  - API key in query parameter `api_key`

To update an event miscellaneous expense/credit, only pass in the properties that you want to update. A miscellaneous expense/credit cannot be moved to another event. To clear a property, pass in null; an empty value leaves the property unchanged (the warnings property in the response names any such parameters). If the update is successful, the message property in the response will contain a list of event miscellaneous expense/credit properties that were actually changed.

Documentation: https://api.exhibitday.com/Help/V1?epf=100#patch-v1-events-miscexpensecredit

## Request body

- PatchEventsMiscexpensecreditRequest
  - `id` integer, required: The id of the event miscellaneous expense/credit you would like to update.
  - `description` string, nullable: A short description of the miscellaneous expense/credit. Longer values are truncated to 1000 characters.
  - `is_credit` boolean, nullable: The is_credit flag indicates whether or not the miscellaneous expense/credit is a credit. Accepted values: true or false (also yes/no, 1/0); any other value is rejected with an error. A blank value leaves the current setting unchanged.
  - `amount` number, nullable: Use the amount field to specify the amount of the miscellaneous expense/credit. The value of this field should be a decimal with no currency symbols or commas (e.g., 11250.75). To remove the amount (making it 0.00), pass in null.
  - `amount_cost_center_breakdown` string, nullable: The cost center allocations as a JSON array of cost_center_id and charge values. Use cost center IDs from /v1/references/cost_centers, or null for Unassigned (responses show it as cost_center "Not Specified"). Charges must be nonnegative and must not exceed the amount in total; any unallocated remainder is assigned to Unassigned. If amount is omitted, the charges determine the total. Invalid JSON, unknown cost centers, negative charges, and allocations exceeding the amount return HTTP 400 without saving changes. To remove the cost center allocations (so the whole amount is Unassigned), pass in null. For example, to allocate $100, send [{"cost_center_id": 123456, "charge": 60.00}, {"cost_center_id": null, "charge": 40.00}].
  - `payment_status_id` integer, nullable: The Payment Status Id for the miscellaneous expense/credit. Note: Payment status only applies to miscellaneous expenses. If you pass in a payment_status_id for a miscellaneous credit (i.e., when the is_credit flag is set to true), it will be ignored. You can use the following endpoint to retrieve a list of available payment_status_id's: /v1/references/payment_statuses. Any other value is rejected with an error. To reset the payment status to 0 (Not Specified), pass in null.
  - `payment_due_date` string, date, nullable: Payment due date in YYYY-MM-DD format. Note: Payment Due Date only applies to miscellaneous expenses. If you pass in a payment_due_date for a miscellaneous credit (i.e., when the is_credit flag is set to true), it will be ignored. A value that is not a valid date is rejected with an error.
  - `next_payment_due_date` string, date, nullable: The next payment due date in YYYY-MM-DD format. This field only applies to expenses with payment_status_id 2 (Partially Paid). It is ignored for credits and other payment statuses. Responses use next_partial_payment_due_date; either name is accepted as input. If both names are supplied, their values must match. A value that is not a valid date is rejected with an error.
  - `next_partial_payment_due_date` string, date, nullable: An input alias for next_payment_due_date. The same payment-status rules apply. If both names are supplied, their values must match. A value that is not a valid date is rejected with an error.
  - `payment_notes` string, nullable: Notes about the payment for the expense. Note: Payment notes only apply to miscellaneous expenses. If you pass in a payment_notes for a miscellaneous credit (i.e., when the is_credit flag is set to true), it will be ignored.
  - `notes` string, nullable: Notes about the miscellaneous expense/credit. Only accepts plain text. Any html tags in the value you pass in will be stripped. New line characters will get replaced with a <br/> tag, and the text is stored HTML-encoded, so it is returned as HTML (a < b comes back as a &lt; b).
  - `integration_metadata_field_1` string, nullable: The integration_metadata_field_1 property is an integration-specific text field only accessible via the ExhibitDay API. This field is typically used to store metadata or information about a particular miscellaneous expense/credit (e.g., the "external id" of the expense from another system you're integrating with).
  - `integration_metadata_field_2` string, nullable: The integration_metadata_field_2 property is an integration-specific text field only accessible via the ExhibitDay API. This field is typically used to store metadata or information about a particular miscellaneous expense/credit (e.g., the "external id" of the expense from another system you're integrating with).
  - `integration_metadata_field_3` string, nullable: The integration_metadata_field_3 property is an integration-specific text field only accessible via the ExhibitDay API. This field is typically used to store metadata or information about a particular miscellaneous expense/credit (e.g., the "external id" of the expense from another system you're integrating with).
  - `integration_metadata_field_4` string, nullable: The integration_metadata_field_4 property is an integration-specific text field only accessible via the ExhibitDay API. This field is typically used to store metadata or information about a particular miscellaneous expense/credit (e.g., the "external id" of the expense from another system you're integrating with).
  - `integration_metadata_field_5` string, nullable: The integration_metadata_field_5 property is an integration-specific text field only accessible via the ExhibitDay API. This field is typically used to store metadata or information about a particular miscellaneous expense/credit (e.g., the "external id" of the expense from another system you're integrating with).

## Response `200`

OK

- StatusResponse, nullable
  - `status_code` integer
  - `status` string, nullable
  - `message` string, nullable
  - `errors` string[], nullable
  - `warnings` string[], nullable: Only when an empty value left a parameter unchanged (see the help page).
  - `error_code` string, nullable: Errors only: what kind of error this is. invalid_request (400): A parameter is missing or has an invalid value (error_params names it when the API can tell); malformed_json (400): The request body is not valid JSON; not_allowed (400): The change is not allowed for that record in ExhibitDay (e.g., the event's tasks or its deletion are locked, or its Misc. Expenses & Credits tab is hidden); idempotency_key_reused (400): The Idempotency-Key was already used with a different request. Use a new key for a new request; missing_api_key (401): No api_key was sent; invalid_api_key (401): The api_key is not valid; api_access_disabled (401): API access is not enabled for the workspace; not_found (404): No record with that id exists in your workspace; unknown_endpoint (404): The URL or HTTP method is not part of the API; idempotency_key_in_use (409): A request with the same Idempotency-Key is still being processed. Retry after a moment; idempotency_key_indeterminate (409): A previous request with this Idempotency-Key did not finish and its outcome is unknown, so this retry was not run (to avoid creating a duplicate). Check whether the earlier request succeeded; to try again, use a new Idempotency-Key; rate_limited (429): Too many requests. Wait the number of seconds in the Retry-After header, then retry; internal_error (500): An unexpected error occurred. Quote the request_id when you contact support. New codes may be added; handle an unknown code by its HTTP status.
  - `error_params` string[], nullable: Errors only: the request parameters the errors refer to ([] when the API cannot tell).
  - `request_id` string, nullable: Errors only: this request's id, also in the X-Request-Id header. Quote it when you contact support.

## Other responses

- `400`: Bad Request: a missing or invalid parameter, or a change that is not allowed (error_code says which).
- `401`: Unauthorized: the api_key is missing or invalid, or API access is not enabled for the workspace.
- `404`: Not Found: no object with that id in your workspace, or an unknown URL or method.
- `429`: Too Many Requests: the rate limit was exceeded.
- `500`: Unexpected Internal Error.

---

[API](https://skmtc.dev/exhibitday/apis/exhibitday-api.md) · [All operations](https://skmtc.dev/exhibitday/apis/exhibitday-api/llms.txt) · [OpenAPI document](https://skmtc.dev/exhibitday/apis/exhibitday-api/revisions/a35e95422b0a?raw)
