Register for an event

POST/events/:eventId/register

Register for an event. Free tickets are confirmed immediately as UNUSED (or PENDING for approval-based events). For paid tickets, complete payment first via the payment link or prepaid checkout endpoints.

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

Request body

ticketIdstringrequired

Ticket type ID; required for events that have ticket types.

invitationCodestring

Invitation code; exactly 8 characters. Required for invitation-only tickets.

faceImageUrlstring

Face photo URL; must be a valid URL. Required for events with requiresFacePhoto enabled.

questionAnswersobject[]

Array of survey answers; each element has questionId (required) and answer (a non-empty array of strings, each up to 1000 characters). All required questions must be answered.

profileAnswersobject

Profile fields collected at registration; keys correspond to the event's entryProfileFields setting.

Object structures

questionAnswers

Survey answers for the questions returned by GET /events/:eventId/questions. Every question with required: true must be answered.

questionIdstringrequired

Question ID.

answerstring[]required

A non-empty array of strings, each up to 1000 characters. Pass option IDs for choice questions and the image URL for image questions.

[
  { "questionId": "q1a2b3c4-...", "answer": ["情報収集のため"] },
  { "questionId": "q2b3c4d5-...", "answer": ["o1"] }
]
Request
curl https://api.4s.link/events/EVENT_ID/register \
-X POST \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"ticketId": "t1a2b3c4-...",
"questionAnswers": [
{ "questionId": "q1a2b3c4-...", "answer": "情報収集のため" }
]
}'
Example response
{
"entry": {
"id": "en1a2b3-...",
"state": "UNUSED",
"eventId": "e1f2a3b4-...",
"ticketId": "t1a2b3c4-...",
"createdAt": "2026-08-18T00:00:00.000Z"
}
}