I am able to create free event ticket types like this example:
REQUEST:
POST https://api.zoom.us/v2/zoom_events/events/C5Dq58qFSA2PbkLCqJnNag/ticket_types
{
"name":"VIP backstage pass",
"currency":"CAD",
"free":true,
"start_time":"2025-07-05T15:10:40Z",
"end_time":"2025-07-12T15:10:36Z",
"description":"Allows backstage access during the conference",
"attendance_type":"in-person"
}
RESPONSE:
HTTP/1.1 201 Created
Date: Sat, 05 Jul 2025 15:17:11 GMT
x-zm-trackingid: WEB_8bbce1b8182f3542f44af49114511182
{"ticket_type_id":"0iiC7WWnQYeK_bNrxi_2zg"}
However, I am unable to create a ticket type that is not free. Here are two examples:
This first example shows that I set the “free” property to false and I also set the price (the documentation says the price should be a string, which I find surprising):
REQUEST:
POST https://api.zoom.us/v2/zoom_events/events/C5Dq58qFSA2PbkLCqJnNag/ticket_types
{"name":"VIP backstage pass","currency":"CAD","free":false,"price":"123.45","start_time":"2025-07-05T15:10:40Z","end_time":"2025-07-12T15:10:36Z","description":"Allows backstage access during the conference","attendance_type":"in-person"}
RESPONSE:
HTTP/1.1 400 Bad Request
Date: Sat, 05 Jul 2025 15:12:11 GMT
x-zm-trackingid: WEB_dd018296c8a9925fa0b4d3eb1d50d08b
{"code":400, "message":"invalid_paid_ticket_type"}
In this second example I set the price but I omit the “free” property:
REQUEST:
POST https://api.zoom.us/v2/zoom_events/events/C5Dq58qFSA2PbkLCqJnNag/ticket_types
{
"name":"VIP backstage pass",
"currency":"CAD",
"price":"123.45",
"start_time":"2025-07-05T15:10:40Z",
"end_time":"2025-07-12T15:10:36Z",
"description":"Allows backstage access during the conference",
"attendance_type":"in-person"
}
RESPONSE:
HTTP/1.1 400 Bad Request
Date: Sat, 05 Jul 2025 15:12:33 GMT
x-zm-trackingid: WEB_80c67cbca3d375123c8fc5236422f3aa
{"code":400, "message":"The currency of event tickets is not the same one. Please try to re-create the ticket."}
This error message is confusing to me: it says the currency “is not the same one”. Same as what??? Maybe the error message is trying to tell me that CAD is not a valid currency? I haven’t found a list of currencies accepted by the Zoom API so I tried “USD” and it was rejected with the same error mesage.
I tried “US” as the currency, I got a different error message:
REQUEST:
POST https://api.zoom.us/v2/zoom_events/events/C5Dq58qFSA2PbkLCqJnNag/ticket_types
{"name":"VIP backstage pass","currency":"US","price":"123","start_time":"2025-07-05T15:10:40Z","end_time":"2025-07-12T15:10:36Z","description":"Allows backstage access during the conference","attendance_type":"in-person"}
RESPONSE:
HTTP/1.1 400 Bad Request
Date: Sat, 05 Jul 2025 15:30:36 GMT
x-zm-trackingid: WEB_6b169cd87ed83d8863caeaaa655b1cac
{"code":400, "message":"Invalid price."}
This latest error message led me to believe that maybe “US” is an accepted currency but that, despite what the documentation says, the price should be a numerical value. So I made one more attempt:
REQUEST:
POST https://api.zoom.us/v2/zoom_events/events/C5Dq58qFSA2PbkLCqJnNag/ticket_types
{"name":"VIP backstage pass","currency":"US","price":123,"start_time":"2025-07-05T15:10:40Z","end_time":"2025-07-12T15:10:36Z","description":"Allows backstage access during the conference","attendance_type":"in-person"}
RESPONSE:
HTTP/1.1 400 Bad Request
Date: Sat, 05 Jul 2025 15:30:25 GMT
x-zm-trackingid: WEB_98a51de0f077d282f506f0befc58aa37
{"code":400, "message":"Invalid price."}
Does anybpody know how to create a non-free ticket type?