- Create a venue
Adds an addressable place under the location in the path. Roles are advertised against venues rather than against the location itself, so a location needs at least one before it can be recruited for.
Send address unless the venue is virtual. An address is not mandatory - a venue can be created without one and given it later - but a venue with no address and is_virtual unset is excluded from proximity searches until one is added.
description is not read on create. It is accepted by the update endpoint only; a create that sends it returns 201 with the description unset. Add it in a follow-up update.
The created venue comes back with only the fields that were set on it, not the full record that reading it returns. Read the venue back if you need its complete state.
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
- Your Rosterfy accounthttps://example.rosterfy.com/api/v2/headcount/location/{location_id}/venue
curl -i -X POST \
'https://developer.rosterfy.com/_mock/api-docs/openapi/api/v2/headcount/location/{location_id}/venue' \
-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,
"address": {
"iso": "AUS",
"region_code": "Example Region",
"coordinates": {
"latitude": null,
"longitude": null
},
"street_address_1": "1 Example Street",
"city": "Example City",
"region": "Example Region",
"postcode": "1000",
"country": "AU",
"latitude": null,
"longitude": null
}
}'{ "object": { "name": "North Gate", "frontend_name": "North Gate", "code": "NORTHGATE", "training_ids": [ … ], "is_virtual": 0, "headcount_location_id": 1, "uuid": "f64e8d2b-7f0d-42fb-91bc-98a098a7f191", "updated_at": "2026-06-09T05:36:16.000000Z", "created_at": "2026-06-09T05:36:16.000000Z", "id": 1, "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 } }