Tickets

Approve, and write a Change Event to Procore

Writes money into the customer's Procore. Check GET /projects/{project_id}/capability first on an unfamiliar project: without Project Financials there is no Change Events tool and this returns 409 until you pass destination daily_log. Idempotent: approving an already-written ticket returns it unchanged rather than creating a second Change Event. A previously rejected ticket can be approved, but only with allow_rejected. A line with no budget code at all is refused unless allow_unrouted is true. Set require_exact if no human is watching: it also refuses lines that merely matched a plausible code, which is the case a person would catch on screen and a program would not.

post/tickets/{id}/approve

Request

  • Base URL: https://app.fieldstub.com/v1
  • URL: https://app.fieldstub.com/v1/tickets/{id}/approve
  • Auth: HTTP bearer

Path parameters

idstring required

Request body

allow_unroutedboolean

Accept the blank budget code for lines that could not be routed. Says out loud that somebody chose to.

allow_rejectedboolean

Approve a ticket somebody already rejected. Without it, approving a rejected ticket returns 409: rejecting is not a write and is reversible, but overriding the person who did it should be deliberate. The MCP tool does not expose this.

require_exactboolean

Refuse any line that is not on a confirmed budget code, including one that only matched loosely. Use it whenever no person is reviewing the write; the MCP server always sets it.

routesobject

Per-line budget code override, keyed by the line index from routing. Value is a WBS code id.

destination'change_event' | 'daily_log'

Where to file it. Omitted on a project with Project Financials, it writes a Change Event. On a project without it, approve returns 409 no_change_events until daily_log is passed explicitly. That is deliberate: a daily log bills nothing and cannot carry the photos, so it is never chosen for you.

Response

OK

object required

Changes

No recorded changes to this operation across all 1 revision of this API.