Browse API docs
Partner requests
Usetix recommends partners from its network to organizers, free of charge: security, venues, artists and DJs, sound and light, catering, photo and video, event staff. You describe what you need, Usetix proposes partners, and you choose whom to meet. Only then does the partner receive your request and contact details, and you receive theirs. See the terms.
All endpoints require Bearer authentication.
Send Accept: application/json, and Content-Type: application/json for JSON
request bodies. Reads accept a read or write token; everything else requires a
write token. Partner requests belong to the account’s owners and managers;
personal co-organizer tokens cannot use them. A request made with an
account-wide token is made in the name of the account owner, who receives the
emails about it.
Partner request representation
{
"id": 57,
"category": "security",
"category_name": "Security",
"status": "proposed",
"event_slug": "october-party",
"event_title": "October Party",
"needed_on": null,
"date": "2026-10-24",
"city": null,
"place": "Berlin",
"guest_count": 800,
"budget": { "amount": "2000.00", "currency": "EUR" },
"contact_phone": "+49 170 1234567",
"description": "Four people at the door and two inside, from 21:00 to 03:00.",
"support_conversation_id": 312,
"proposals": [
{
"id": 88,
"status": "proposed",
"note": "They run the door at big club nights and know the neighbourhood.",
"partner": {
"name": "Nightwatch Security",
"categories": ["security", "staff"],
"description": "Door and crowd security for clubs and festivals.",
"service_area": "Berlin & Brandenburg",
"website_url": "https://nightwatch.example",
"contact": null
},
"introduced_at": null,
"declined_at": null,
"follow_up_on": null,
"reported_booked": null,
"reported_at": null,
"created_at": "2026-10-15T09:12:00Z"
}
],
"closed_at": null,
"created_at": "2026-10-15T08:40:00Z",
"updated_at": "2026-10-15T09:12:00Z"
}
category is one of security, venue, artist, technology (sound and
light), catering, photo_video, staff and other; category_name is its
name in the account’s language. needed_on and city are what you entered;
date and place are what applies, falling back to the event’s date and venue.
budget is money in the account’s currency, or null. Dates are calendar dates
(YYYY-MM-DD); timestamps are UTC.
status follows the proposals:
| Status | Meaning |
|---|---|
searching |
Usetix is looking for partners |
proposed |
Proposals are waiting for your answer |
introduced |
You met a partner; the outcome is open |
booked |
You booked a partner from this request |
closed |
Usetix closed the request |
withdrawn |
You withdrew the request |
A proposal’s status is proposed, declined (not a fit), introduced,
booked or unbooked. partner.contact (name, email_address, phone)
is filled once you met the partner and stays null before. follow_up_on is
the day after which Usetix asks whether you booked an introduced partner.
support_conversation_id is the request’s conversation with Usetix support.
List and show
GET /admin/partners returns { "partner_requests": [...] }, newest first.
GET /admin/partners/:id returns one request. Unknown requests return 404.
Ask for a partner
POST /admin/partners accepts a partner_request object. category and
description are required.
{
"partner_request": {
"category": "security",
"event_slug": "october-party",
"guest_count": 800,
"budget": "2000",
"contact_phone": "+49 170 1234567",
"description": "Four people at the door and two inside, from 21:00 to 03:00."
}
}
Fields: category, description (at most 2,000 characters), event_slug (an
event of the account; an unknown slug returns 404), needed_on, city,
guest_count, budget (a decimal in the account’s currency) and
contact_phone, which goes to a partner you choose to meet. Leave out
needed_on and city for an event: its date and venue apply.
Returns 201 Created, the request and a Location header. Validation failures
return 422 with field errors, for example
{ "errors": { "category": ["is not included in the list"] } }. The request
opens a conversation with Usetix support; Usetix answers questions there and by
email.
Withdraw
POST /admin/partners/:id/withdrawal withdraws a request that is still running
and returns it.
Answer a proposal
Each returns the proposal. A proposal that can no longer be answered returns
422 with { "errors": { "status": ["..."] } }.
POST /admin/partners/:id/proposals/:proposal_id/introductionmeets the partner. Usetix emails the partner your request, your name and email address, the phone number you gave and the account’s name, and emails you the partner’s contact details.POST /admin/partners/:id/proposals/:proposal_id/rejectionpasses on a partner.POST /admin/partners/:id/proposals/:proposal_id/booking_reportwith{ "booked": true }or{ "booked": false }answers whether you booked a partner you met.
Recommendations are free for organizers; what you agree with a partner is between you and the partner.