Financials

Retrieve Event Costs #

Method
GET
Endpoint
Sample Object
If a specific Event Id is passed in (using the "filter_by_event_id" parameter), then only the costs for that event are returned. Otherwise, all costs for all events are returned. The "cost_subtype" property contains the selected Booth Service type or the Event Activity type. Other Booth Services use "Other"; Other activities use their category name, including "Presentation (Other)". General activities and other cost types return null. The subtype is separate from "details", which describes the item.
Parameters
Name Type Required? Details Description
api_key String Yes
filter_by_event_id Number No
Id of a specific event that you would like to retrieve costs for.
filter_by_event_start_date_greater_than_or_equal_to Date No
Only include costs for events that have their start date greater than or equal to the value passed in for this filter parameter. Use this date format: YYYY-MM-DD
filter_by_event_start_date_smaller_than_or_equal_to Date No
Only include costs for events that have their start date smaller than or equal to the value passed in for this filter parameter. Use this date format: YYYY-MM-DD
filter_by_event_end_date_greater_than_or_equal_to Date No
Only include costs for events that have their end date greater than or equal to the value passed in for this filter parameter. Use this date format: YYYY-MM-DD
filter_by_event_end_date_smaller_than_or_equal_to Date No
Only include costs for events that have their end date smaller than or equal to the value passed in for this filter parameter. Use this date format: YYYY-MM-DD
filter_by_event_start_date_category String No
Only include the costs of the events in one category: "all" (all events), "upcoming" (events that end today or later, including events that are in progress), "past" (events that ended before today), or a year such as "2026" (events that start in that year). "Today" is based on your workspace's time zone. When you pass in one of these values, the event date filters are ignored. To get the list of categories for your workspace, use /v1/references/event_start_date_categories. Any other value is rejected with an error.
$limit Number No
The most cost records to return (a whole number of 1 or more). Use it with $offset to read a long list in pages: total_records in the response counts every matching cost record and has_more is true while more pages follow (the X-Total-Count header carries the total too). Without $limit, every matching cost record is returned.
$offset Number No
How many cost records to skip before the first one returned (a whole number; 0 by default). For the next page, add the number of cost records you received to $offset.
$result_format String No
Pass in "array" to get the results as a plain JSON array (without records_found, total_records, has_more and list_type; the X-Total-Count header still gives the total), or "wrapped_in_array" to get the usual response inside a JSON array.
$on_error_return_empty_result Boolean No
default: false
For this endpoint's ID, date-filter or paging validation errors, including a referenced event not found, return HTTP 200 with no matching records in the selected result format. Authentication, rate-limit and unexpected server errors keep their normal HTTP status.
Code Samples
curl -X GET "https://api.exhibitday.com/v1/financials/event_costs" -H "api_key: YOUR_API_KEY"

Example HTTP response body (JSON)

GET /v1/financials/event_costs - HTTP 200
{
  "records_found": 1,
  "total_records": 1,
  "has_more": false,
  "list_type": "event_cost",
  "list_data": [
    {
      "id": 12345,
      "cost_type_id": 6,
      "cost_type": "Miscellaneous Expense/Credit",
      "cost_subtype": null,
      "details": "Sample expense",
      "amount": 125.50,
      "amount_cost_center_breakdown": [
        {
          "cost_center_id": null,
          "cost_center": "Not Specified",
          "charge": 125.50
        }
      ],
      "payment_due_date": "",
      "payment_status": {
        "id": 0,
        "name": "Not Specified"
      },
      "next_partial_payment_due_date": "",
      "payment_notes": "",
      "event": {
        "id": 12345,
        "exhibitday_url": "https://www.exhibitday.com/Workspace/Event/98765?eid=12345",
        "name": "Sample Event",
        "start_date": "2026-12-12",
        "end_date": "2026-12-14",
        "participation_type_id": 1,
        "participation_type": "Committed",
        "format_id": 1,
        "format": "In-Person",
        "event_created_timestamp": "2026-11-12T17:00:00Z",
        "event_last_update_timestamp": "2026-11-12T17:00:00Z"
      }
    }
  ]
}
Note: Illustrative response. Assume the identified records exist in an illustrative workspace and the request succeeds. Generated IDs, related records and timestamps are illustrative. Item links use illustrative workspace 98765 and the DTO's configured application host (an illustrative production-host fallback is used only if absent). Timestamps are illustrative values formatted by the current API serializer; they do not establish the timezone semantics of stored timestamps. The default response representation is shown; documented options can select another shape. Reference labels are illustrative; assume the workspace uses the standard participation types with no custom choices. No query/body parameters are sent (the API key remains a header).

Retrieve Miscellaneous Annual Expense Costs #

Method
GET
Endpoint
Sample Object
If a specific Budget Year is passed in (using the "budget_year" parameter, e.g. 2026), then only the miscellaneous annual expense costs for that budget year are returned. Otherwise, all miscellaneous annual expense costs for all budget years are returned. Every miscellaneous annual expense is listed, including one with a planned amount and no cost recorded yet (its actual_amount is 0 and its actual_amount_cost_center_breakdown is empty).
Parameters
Name Type Required? Details Description
api_key String Yes
budget_year Number No
The specific budget year that you would like to retrieve miscellaneous annual expense costs for (e.g., 2026).
$limit Number No
The most cost records to return (a whole number of 1 or more). Use it with $offset to read a long list in pages: total_records in the response counts every matching cost record and has_more is true while more pages follow (the X-Total-Count header carries the total too). Without $limit, every matching cost record is returned.
$offset Number No
How many cost records to skip before the first one returned (a whole number; 0 by default). For the next page, add the number of cost records you received to $offset.
$result_format String No
Pass in "array" to get the results as a plain JSON array (without records_found, total_records, has_more and list_type; the X-Total-Count header still gives the total), or "wrapped_in_array" to get the usual response inside a JSON array.
$on_error_return_empty_result Boolean No
default: false
For invalid budget_year or paging values, return HTTP 200 with no matching records in the selected result format. Authentication, rate-limit and unexpected server errors keep their normal HTTP status.
Code Samples
curl -X GET "https://api.exhibitday.com/v1/financials/misc_annual_expense_costs" -H "api_key: YOUR_API_KEY"

Example HTTP response body (JSON)

GET /v1/financials/misc_annual_expense_costs - HTTP 200
{
  "records_found": 1,
  "total_records": 1,
  "has_more": false,
  "list_type": "misc_annual_expense_cost",
  "list_data": [
    {
      "id": 12345,
      "budget_year": 2026,
      "description": "Sample annual expense",
      "planned_amount": 150.00,
      "actual_amount": 125.50,
      "actual_amount_cost_center_breakdown": [
        {
          "cost_center_id": null,
          "cost_center": "Not Specified",
          "charge": 125.50
        }
      ]
    }
  ]
}
Note: Illustrative response. Assume the identified records exist in an illustrative workspace and the request succeeds. Generated IDs, related records and timestamps are illustrative. Item links use illustrative workspace 98765 and the DTO's configured application host (an illustrative production-host fallback is used only if absent). Timestamps are illustrative values formatted by the current API serializer; they do not establish the timezone semantics of stored timestamps. The default response representation is shown; documented options can select another shape. Reference labels are illustrative; assume the workspace uses the standard participation types with no custom choices. No query/body parameters are sent (the API key remains a header).