- Update a venue
Updates the fields supplied and returns the venue. Only the fields sent are touched, so an empty body is a valid request that changes nothing.
Sending address replaces the address already held rather than merging into it, so send the whole address every time. Sending is_virtual as true detaches the address instead, and the response to that request still shows the old address even though it is gone - read the venue back to see its settled state.
A venue stays under the location it was created in; this endpoint does not move it.
The name volunteers see in the portal. Required, and shown in place of name to anyone without administrator access, so it is worth setting even when the two match.
A short reference for the venue. Letters, numbers, commas, dashes and underscores only - spaces and other punctuation are rejected. Accounts configured to require unique venue codes reject a code already in use; otherwise codes may repeat.
The IDs of the training modules assigned to anyone who accepts a role at this venue. Replaces the whole list rather than adding to it, so send every module you want kept. Omitting the field leaves the stored list untouched.
Whether the venue has no physical address. A virtual venue is excluded from proximity searches and sorts after venues that have coordinates. Setting this on an existing venue detaches the address, and switching it back off does not restore it - send the address again.
Where the venue is, as an address object with street_address_1, street_address_2, street_address_3, city, region, postcode and a two-letter country. Optional even for a venue that is not virtual. On create the address is stored as sent; on update it replaces the address already held. Ignored when is_virtual is set in the same request.
- Mock serverhttps://developer.rosterfy.com/_mock/api-docs/openapi/api/v2/headcount/location/{location_id}/venue/{id}
- Your Rosterfy accounthttps://example.rosterfy.com/api/v2/headcount/location/{location_id}/venue/{id}
curl -i -X PUT \
'https://developer.rosterfy.com/_mock/api-docs/openapi/api/v2/headcount/location/{location_id}/venue/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Rosterfy-Platform: admin' \
-d '{
"name": "North Gate",
"frontend_name": "North Gate",
"code": "NORTHGATE",
"training_ids": [
1
],
"is_virtual": 0,
"description": "<p>Main pedestrian entrance.</p>",
"address": {
"iso": "AUS",
"region_code": "Example Region",
"coordinates": {
"latitude": null,
"longitude": null
},
"street_address_1": "1 Example Street",
"street_address_2": null,
"street_address_3": null,
"city": "Example City",
"postcode": "1000",
"region": "Example Region",
"country": "AU",
"latitude": null,
"longitude": null
}
}'{ "object": { "id": 1, "headcount_location_id": 1, "name": "North Gate", "frontend_name": "North Gate", "code": "NORTHGATE", "is_virtual": 0, "description": "<p>Main pedestrian entrance.</p>", "is_system": 0, "training_ids": [ … ], "deleted_at": null, "created_at": "2026-06-09T05:36:16.000000Z", "updated_at": "2026-06-09T05:36:16.000000Z", "uuid": "f64e8d2b-7f0d-42fb-91bc-98a098a7f191", "address": { … } }, "nice": { "rrn": "rrn:local:20101:venue:1", "address": "1 Example Street\nExample City\nExample Region\nAustralia\n1000", "address_oneline": "1 Example Street, Example City, Example Region, Australia, 1000", "address.country": "Australia", "address.country:raw": "AUS", "address.city": "Example City", "address.region": "Example Region", "address.region:raw": "Example Region", "address.postcode": "1000", "address.street_address_1": "1 Example Street", "address.street_address_2": null, "address.street_address_3": null, "address.latitude": null, "address.longitude": null, "location_name": "Main Campus", "headcount_location_type_name": "Stadium", "headcount_location_type_id": 1 }, "relations": { "location": { … } }, "permissions": { "read": true, "update": true, "delete": true } }