curl --request POST \
--url https://api.utage-system.com/v1/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "seminar",
"name": "<string>",
"system_name": "<string>",
"event_group_id": "<string>",
"fee_type": "free",
"fee": 5000000,
"payment_setting_id": "<string>",
"business_id": "<string>",
"use_limited_price": false,
"limited_item": "datetime",
"limited_prices": [
{
"datetime_from": "<string>",
"datetime_to": "<string>",
"day": 123,
"hour": 123,
"min": 123,
"fee": 123
}
],
"deadline_day": 1,
"deadline_hour": 14,
"deadline_to_type": "none",
"deadline_to_day": 0,
"multiple_registration_type": "deny",
"has_reminder": false,
"message_account_id": "<string>",
"from_name": "<string>",
"from_mail": "<string>",
"use_line_event": false
}
'import requests
url = "https://api.utage-system.com/v1/events"
payload = {
"type": "seminar",
"name": "<string>",
"system_name": "<string>",
"event_group_id": "<string>",
"fee_type": "free",
"fee": 5000000,
"payment_setting_id": "<string>",
"business_id": "<string>",
"use_limited_price": False,
"limited_item": "datetime",
"limited_prices": [
{
"datetime_from": "<string>",
"datetime_to": "<string>",
"day": 123,
"hour": 123,
"min": 123,
"fee": 123
}
],
"deadline_day": 1,
"deadline_hour": 14,
"deadline_to_type": "none",
"deadline_to_day": 0,
"multiple_registration_type": "deny",
"has_reminder": False,
"message_account_id": "<string>",
"from_name": "<string>",
"from_mail": "<string>",
"use_line_event": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'seminar',
name: '<string>',
system_name: '<string>',
event_group_id: '<string>',
fee_type: 'free',
fee: 5000000,
payment_setting_id: '<string>',
business_id: '<string>',
use_limited_price: false,
limited_item: 'datetime',
limited_prices: [
{
datetime_from: '<string>',
datetime_to: '<string>',
day: 123,
hour: 123,
min: 123,
fee: 123
}
],
deadline_day: 1,
deadline_hour: 14,
deadline_to_type: 'none',
deadline_to_day: 0,
multiple_registration_type: 'deny',
has_reminder: false,
message_account_id: '<string>',
from_name: '<string>',
from_mail: '<string>',
use_line_event: false
})
};
fetch('https://api.utage-system.com/v1/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.utage-system.com/v1/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'seminar',
'name' => '<string>',
'system_name' => '<string>',
'event_group_id' => '<string>',
'fee_type' => 'free',
'fee' => 5000000,
'payment_setting_id' => '<string>',
'business_id' => '<string>',
'use_limited_price' => false,
'limited_item' => 'datetime',
'limited_prices' => [
[
'datetime_from' => '<string>',
'datetime_to' => '<string>',
'day' => 123,
'hour' => 123,
'min' => 123,
'fee' => 123
]
],
'deadline_day' => 1,
'deadline_hour' => 14,
'deadline_to_type' => 'none',
'deadline_to_day' => 0,
'multiple_registration_type' => 'deny',
'has_reminder' => false,
'message_account_id' => '<string>',
'from_name' => '<string>',
'from_mail' => '<string>',
'use_line_event' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.utage-system.com/v1/events"
payload := strings.NewReader("{\n \"type\": \"seminar\",\n \"name\": \"<string>\",\n \"system_name\": \"<string>\",\n \"event_group_id\": \"<string>\",\n \"fee_type\": \"free\",\n \"fee\": 5000000,\n \"payment_setting_id\": \"<string>\",\n \"business_id\": \"<string>\",\n \"use_limited_price\": false,\n \"limited_item\": \"datetime\",\n \"limited_prices\": [\n {\n \"datetime_from\": \"<string>\",\n \"datetime_to\": \"<string>\",\n \"day\": 123,\n \"hour\": 123,\n \"min\": 123,\n \"fee\": 123\n }\n ],\n \"deadline_day\": 1,\n \"deadline_hour\": 14,\n \"deadline_to_type\": \"none\",\n \"deadline_to_day\": 0,\n \"multiple_registration_type\": \"deny\",\n \"has_reminder\": false,\n \"message_account_id\": \"<string>\",\n \"from_name\": \"<string>\",\n \"from_mail\": \"<string>\",\n \"use_line_event\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.utage-system.com/v1/events")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"seminar\",\n \"name\": \"<string>\",\n \"system_name\": \"<string>\",\n \"event_group_id\": \"<string>\",\n \"fee_type\": \"free\",\n \"fee\": 5000000,\n \"payment_setting_id\": \"<string>\",\n \"business_id\": \"<string>\",\n \"use_limited_price\": false,\n \"limited_item\": \"datetime\",\n \"limited_prices\": [\n {\n \"datetime_from\": \"<string>\",\n \"datetime_to\": \"<string>\",\n \"day\": 123,\n \"hour\": 123,\n \"min\": 123,\n \"fee\": 123\n }\n ],\n \"deadline_day\": 1,\n \"deadline_hour\": 14,\n \"deadline_to_type\": \"none\",\n \"deadline_to_day\": 0,\n \"multiple_registration_type\": \"deny\",\n \"has_reminder\": false,\n \"message_account_id\": \"<string>\",\n \"from_name\": \"<string>\",\n \"from_mail\": \"<string>\",\n \"use_line_event\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.utage-system.com/v1/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"seminar\",\n \"name\": \"<string>\",\n \"system_name\": \"<string>\",\n \"event_group_id\": \"<string>\",\n \"fee_type\": \"free\",\n \"fee\": 5000000,\n \"payment_setting_id\": \"<string>\",\n \"business_id\": \"<string>\",\n \"use_limited_price\": false,\n \"limited_item\": \"datetime\",\n \"limited_prices\": [\n {\n \"datetime_from\": \"<string>\",\n \"datetime_to\": \"<string>\",\n \"day\": 123,\n \"hour\": 123,\n \"min\": 123,\n \"fee\": 123\n }\n ],\n \"deadline_day\": 1,\n \"deadline_hour\": 14,\n \"deadline_to_type\": \"none\",\n \"deadline_to_day\": 0,\n \"multiple_registration_type\": \"deny\",\n \"has_reminder\": false,\n \"message_account_id\": \"<string>\",\n \"from_name\": \"<string>\",\n \"from_mail\": \"<string>\",\n \"use_line_event\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"type": "seminar",
"name": "<string>",
"system_name": "<string>",
"event_group_id": "<string>",
"fee_type": "<string>",
"fee": 123,
"use_limited_price": true,
"limited_item": "datetime",
"limited_prices": [
{
"datetime_from": "<string>",
"datetime_to": "<string>",
"day": 123,
"hour": 123,
"min": 123,
"fee": 123
}
],
"payment_method": "<string>",
"payment_setting_id": "<string>",
"business_id": "<string>",
"deadline_day": 123,
"deadline_hour": 123,
"deadline_to_type": "none",
"deadline_to_day": 123,
"multiple_registration_type": "deny",
"has_reminder": true,
"reminder_scenario_id": "<string>",
"reminder_scenario_copy_status": "<string>",
"notify_mail": "<string>",
"use_line_event": true,
"has_cancel_mail": true,
"has_cancel_line": true,
"is_test_mode": true,
"is_archived": true,
"copy_status": "<string>",
"register_url": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "APIキーが無効です"
}
}{
"error": {
"code": "validation_error",
"message": "入力内容に誤りがあります",
"details": {
"fee": [
"参加費金額は必ず指定してください。"
]
}
}
}{
"error": {
"code": "monthly_limit_exceeded",
"message": "月間の作成上限に達しました",
"details": {
"resource_type": "message",
"retry_after": "2026-11-01 00:05:00"
}
}
}{
"error": {
"code": "internal_error",
"message": "リマインダシナリオの作成に失敗しました"
}
}イベント作成
イベントを作成します。type(種類)と use_line_event(申込方式)は作成後に変更できません。
seminar(セミナー・説明会): 日程を事前に作成し(POST /events/{project_id}/schedules)、申込者が日程を選んで申し込む形式ですcalendar(個別相談・個別予約): 日程設定(PATCH /events/{project_id}/calendar)の開催する曜日・時間帯・特定日の開催設定から申込者が日時を選ぶ形式です。日程は申込の確定時に自動で作成されます。作成直後の日程設定は初期値(所要時間30分、開催する曜日・時間帯は月曜〜金曜の 10:00〜18:00、Zoom連携 / Google Meet連携を利用、日程の表示期間は自動で調整など)になるので、担当者の紐付けなどを日程設定で行ってから申込を受け付けてください
has_reminder=true を指定すると、連携配信アカウント(message_account_id)にシステム標準のリマインダシナリオをコピーしてイベントに連携し、キャンセル時の申込者への自動返信も有効になります。コピーは非同期で行われるため、作成直後の応答では reminder_scenario_copy_status が copying のことがあります。GET /events/{project_id} で complete になったことを確認してから申込フォームのURL(register_url)を案内してください。申込方式がLINEのみ(use_line_event=true)のイベントではリマインダ配信が必須で、message_account_id にはLIFF連携済みのLINEの配信アカウントを指定します。システム標準のリマインダシナリオまたは連携配信アカウントのシナリオグループを解決できない場合は 500(internal_error)が返り、イベントは作成されません。
参加費が有料(fee_type=paid)のときは fee と payment_method が必須です。payment_setting_id を省略するとデフォルトの決済連携設定が使われます(デフォルトが無い場合は未設定のまま作成されます)。
イベントと同時に申込フォームの項目定義も作成されます(個別相談・個別予約ではフリガナと携帯番号、申込方式がLINEのみのイベントではフリガナとメールアドレスが未使用の状態)。項目の変更は PATCH /events/{project_id}/form-items で行います。
API経由の作成件数の上限(月間・累計)の対象です。
curl --request POST \
--url https://api.utage-system.com/v1/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "seminar",
"name": "<string>",
"system_name": "<string>",
"event_group_id": "<string>",
"fee_type": "free",
"fee": 5000000,
"payment_setting_id": "<string>",
"business_id": "<string>",
"use_limited_price": false,
"limited_item": "datetime",
"limited_prices": [
{
"datetime_from": "<string>",
"datetime_to": "<string>",
"day": 123,
"hour": 123,
"min": 123,
"fee": 123
}
],
"deadline_day": 1,
"deadline_hour": 14,
"deadline_to_type": "none",
"deadline_to_day": 0,
"multiple_registration_type": "deny",
"has_reminder": false,
"message_account_id": "<string>",
"from_name": "<string>",
"from_mail": "<string>",
"use_line_event": false
}
'import requests
url = "https://api.utage-system.com/v1/events"
payload = {
"type": "seminar",
"name": "<string>",
"system_name": "<string>",
"event_group_id": "<string>",
"fee_type": "free",
"fee": 5000000,
"payment_setting_id": "<string>",
"business_id": "<string>",
"use_limited_price": False,
"limited_item": "datetime",
"limited_prices": [
{
"datetime_from": "<string>",
"datetime_to": "<string>",
"day": 123,
"hour": 123,
"min": 123,
"fee": 123
}
],
"deadline_day": 1,
"deadline_hour": 14,
"deadline_to_type": "none",
"deadline_to_day": 0,
"multiple_registration_type": "deny",
"has_reminder": False,
"message_account_id": "<string>",
"from_name": "<string>",
"from_mail": "<string>",
"use_line_event": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
type: 'seminar',
name: '<string>',
system_name: '<string>',
event_group_id: '<string>',
fee_type: 'free',
fee: 5000000,
payment_setting_id: '<string>',
business_id: '<string>',
use_limited_price: false,
limited_item: 'datetime',
limited_prices: [
{
datetime_from: '<string>',
datetime_to: '<string>',
day: 123,
hour: 123,
min: 123,
fee: 123
}
],
deadline_day: 1,
deadline_hour: 14,
deadline_to_type: 'none',
deadline_to_day: 0,
multiple_registration_type: 'deny',
has_reminder: false,
message_account_id: '<string>',
from_name: '<string>',
from_mail: '<string>',
use_line_event: false
})
};
fetch('https://api.utage-system.com/v1/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.utage-system.com/v1/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => 'seminar',
'name' => '<string>',
'system_name' => '<string>',
'event_group_id' => '<string>',
'fee_type' => 'free',
'fee' => 5000000,
'payment_setting_id' => '<string>',
'business_id' => '<string>',
'use_limited_price' => false,
'limited_item' => 'datetime',
'limited_prices' => [
[
'datetime_from' => '<string>',
'datetime_to' => '<string>',
'day' => 123,
'hour' => 123,
'min' => 123,
'fee' => 123
]
],
'deadline_day' => 1,
'deadline_hour' => 14,
'deadline_to_type' => 'none',
'deadline_to_day' => 0,
'multiple_registration_type' => 'deny',
'has_reminder' => false,
'message_account_id' => '<string>',
'from_name' => '<string>',
'from_mail' => '<string>',
'use_line_event' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.utage-system.com/v1/events"
payload := strings.NewReader("{\n \"type\": \"seminar\",\n \"name\": \"<string>\",\n \"system_name\": \"<string>\",\n \"event_group_id\": \"<string>\",\n \"fee_type\": \"free\",\n \"fee\": 5000000,\n \"payment_setting_id\": \"<string>\",\n \"business_id\": \"<string>\",\n \"use_limited_price\": false,\n \"limited_item\": \"datetime\",\n \"limited_prices\": [\n {\n \"datetime_from\": \"<string>\",\n \"datetime_to\": \"<string>\",\n \"day\": 123,\n \"hour\": 123,\n \"min\": 123,\n \"fee\": 123\n }\n ],\n \"deadline_day\": 1,\n \"deadline_hour\": 14,\n \"deadline_to_type\": \"none\",\n \"deadline_to_day\": 0,\n \"multiple_registration_type\": \"deny\",\n \"has_reminder\": false,\n \"message_account_id\": \"<string>\",\n \"from_name\": \"<string>\",\n \"from_mail\": \"<string>\",\n \"use_line_event\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.utage-system.com/v1/events")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"seminar\",\n \"name\": \"<string>\",\n \"system_name\": \"<string>\",\n \"event_group_id\": \"<string>\",\n \"fee_type\": \"free\",\n \"fee\": 5000000,\n \"payment_setting_id\": \"<string>\",\n \"business_id\": \"<string>\",\n \"use_limited_price\": false,\n \"limited_item\": \"datetime\",\n \"limited_prices\": [\n {\n \"datetime_from\": \"<string>\",\n \"datetime_to\": \"<string>\",\n \"day\": 123,\n \"hour\": 123,\n \"min\": 123,\n \"fee\": 123\n }\n ],\n \"deadline_day\": 1,\n \"deadline_hour\": 14,\n \"deadline_to_type\": \"none\",\n \"deadline_to_day\": 0,\n \"multiple_registration_type\": \"deny\",\n \"has_reminder\": false,\n \"message_account_id\": \"<string>\",\n \"from_name\": \"<string>\",\n \"from_mail\": \"<string>\",\n \"use_line_event\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.utage-system.com/v1/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"seminar\",\n \"name\": \"<string>\",\n \"system_name\": \"<string>\",\n \"event_group_id\": \"<string>\",\n \"fee_type\": \"free\",\n \"fee\": 5000000,\n \"payment_setting_id\": \"<string>\",\n \"business_id\": \"<string>\",\n \"use_limited_price\": false,\n \"limited_item\": \"datetime\",\n \"limited_prices\": [\n {\n \"datetime_from\": \"<string>\",\n \"datetime_to\": \"<string>\",\n \"day\": 123,\n \"hour\": 123,\n \"min\": 123,\n \"fee\": 123\n }\n ],\n \"deadline_day\": 1,\n \"deadline_hour\": 14,\n \"deadline_to_type\": \"none\",\n \"deadline_to_day\": 0,\n \"multiple_registration_type\": \"deny\",\n \"has_reminder\": false,\n \"message_account_id\": \"<string>\",\n \"from_name\": \"<string>\",\n \"from_mail\": \"<string>\",\n \"use_line_event\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"type": "seminar",
"name": "<string>",
"system_name": "<string>",
"event_group_id": "<string>",
"fee_type": "<string>",
"fee": 123,
"use_limited_price": true,
"limited_item": "datetime",
"limited_prices": [
{
"datetime_from": "<string>",
"datetime_to": "<string>",
"day": 123,
"hour": 123,
"min": 123,
"fee": 123
}
],
"payment_method": "<string>",
"payment_setting_id": "<string>",
"business_id": "<string>",
"deadline_day": 123,
"deadline_hour": 123,
"deadline_to_type": "none",
"deadline_to_day": 123,
"multiple_registration_type": "deny",
"has_reminder": true,
"reminder_scenario_id": "<string>",
"reminder_scenario_copy_status": "<string>",
"notify_mail": "<string>",
"use_line_event": true,
"has_cancel_mail": true,
"has_cancel_line": true,
"is_test_mode": true,
"is_archived": true,
"copy_status": "<string>",
"register_url": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"error": {
"code": "unauthorized",
"message": "APIキーが無効です"
}
}{
"error": {
"code": "validation_error",
"message": "入力内容に誤りがあります",
"details": {
"fee": [
"参加費金額は必ず指定してください。"
]
}
}
}{
"error": {
"code": "monthly_limit_exceeded",
"message": "月間の作成上限に達しました",
"details": {
"resource_type": "message",
"retry_after": "2026-11-01 00:05:00"
}
}
}{
"error": {
"code": "internal_error",
"message": "リマインダシナリオの作成に失敗しました"
}
}POST
https://api.utage-system.com/v1/events