Use this endpoint to record a Person’s participation at an Event. Because it’s not easy to know whether a Person is already signed up for an Event, this endpoint will create a new Signup only if a Signup with the same Person, Event, Role, and Shift does not already exist. If a Signup does exist, it will override the existing Signup’s Status, Start Time, End Time, and (if specified) Location. A record of this change is displayed in the VAN UI.
When a Signup is created or updated, a canvass response is generated to represent the signup interaction. The Input Type is API, the Date Canvassed is the current date, the Canvasser is the API user associated with the current context, and the Result Code corresponds to a result most appropriate for the given Status (e.g., Scheduled → Canvassed). Consult the VAN UI for a detailed mapping.
This endpoint accepts a standard Signup object with simple types and no read-only values specified.
If successful, the endpoint responds with HTTP Status Code 201 Created
(even if it matched and updated an existing Signup) and the integer ID of the created Signup in the response body. It also sets the Location header to the location of the newly created Signup.