1. Registration of participants
Endpoint:POST https://webinaris.co/api/register
The parameters must be sent as JSON in the body of the HTTP request. The Content-Type header must be set to application/json.
Description:
Registers a new participant for a webinar.
Required parameters:
| Name | Type | Description |
|---|---|---|
| String | Participant's email address | |
| webinar_id | String | Webinar ID (found in the respective webinar in the “Expert Settings” -> “API” menu) |
| apikey | String | Global API key (found in the respective webinar in the “Expert Settings” -> “API” menu) |
| time | String/Int | Webinar date (UNIX timestamp or in DD.MM.YYYY HH:MM format) |
| version | String | API version, e.g., 'v1.0' |
Optional parameters:
| Name | Type | Description |
|---|---|---|
| firstname | String | Participant's first name |
| lastname | String | Participant's last name |
| note | String | Note |
| phone | String | Phone number |
| source_id | String | Participant's source |
| affiliate_id | String | Affiliate-ID |
| utm_campaign | String | UTM campaign name |
| utm_content | String | UTM-Content |
| utm_medium | String | UTM-Medium |
| utm_source | String | UTM-Source |
| utm_term | String | UTM-Term |
| ip_address | String | Participant's IP address |
| access | String | Indicates whether the participant is allowed to attend the webinar or not. Values: “active” or “inactive” |
| sender | String | Sender of the API call |
| timezone | String | Time zone according to tzdatabase (e.g., “Europe/Berlin”). If no time zone is specified, the webinar time zone is used. |
| gender | String | Since v1.1; values: "male" If no value is passed or the parameter is not passed, Webinaris automatically determines the gender based on the first name. If automatic determination is not possible, the gender is set to “unknown.” |
Answer:
Upon successful registration, the following JSON object is returned:
| Field | Type | Description |
|---|---|---|
| status | String | 200 (for OK), 400 (Bad Request) 500 (Internal Server Error) |
| success | String | "true" oder "false" |
| webinarroom_url | String | URL to the webinar room |
| data.replay_7day_pause-seek | String | Replay link (valid for 7 days, with pause/seek) |
| data.replay_7day_no_pause-seek | String | Replay link (valid for 7 days, without pause/seek) |
| data.replay_3day_pause-seek | String | Replay link (valid for 3 days, with pause/seek) |
| data.replay_3day_no_pause-seek | String | Replay link (valid for 3 days, without pause/seek) |
| data.doipage_url | String | URL to the DOI confirmation page (empty if not available) |
| data.thankyoupage_url | String | URL to the thank you page |
Basic version
2. Retrieve webinars
Endpoint:POST https://webinaris.co/api/webinars
The parameters must be sent as JSON in the body of the HTTP request. The Content-Type header must be set to application/json.
Description:
Returns a list of all active webinars in the account.
Required parameters:
| Name | Type | Description |
|---|---|---|
| apikey | String | Global API key (found in the respective webinar in the “Expert settings” -> “API” menu) |
| version | String | Version of the API, e.g., 'v1.0' |
Answer:
An array of webinar objects with the following fields:
| Fiel | Type | Description |
|---|---|---|
| status | String | 200 (for OK), 400 (Bad Request) 500 (Internal Server Error) |
| success | String | "true" or "false" |
| data.public_title | String | Public title of the webinar |
| data.internal_title | String | Internal title of the webinar |
| data.webinar_id | String | Webinar ID (as used in the API) |
| data.type | String | Type: “live,” “auto,” or “partner” |
3. Webinarzeiten abrufen
Endpoint:POST https://webinaris.co/api/webinartimes
The parameters must be sent as JSON in the body of the HTTP request. The Content-Type header must be set to application/json.
Description:
Returns a list of all dates automatically generated by Webinaris for a webinar in order to use the intelligent Webinaris scheduling logic.
Required parameters:
| Name | Type | Description |
|---|---|---|
| webinar_id | String | Webinar ID (found in the respective webinar in the “Expert settings” -> “API” menu) |
| apikey | String | Global API key (found in the respective webinar in the “Expert settings” -> “API” menu) |
| version | String | API version, e.g., 'v1.0' |
Answer:
An array of webinar objects with the following fields:
| Field | Type | Description |
|---|---|---|
| status | String | 200 (for OK), 400 (Bad Request) 500 (Internal Server Error) |
| success | String | "true" oder "false" |
| data.showtime | String | The webinar date |
| data.vmax | String | The maximum number of available places |
| data.vfree | String | The number of places still available |
| data.unix | String | The webinar date in UNIX timestamp format |
| data.offset | String | UTC offset of the webinar date |
| data.tzone | String | Time zone according to tzdatabase (e.g., “Europe/Berlin”) |
Versions & Changes
4. Unsubscribe (email opt-out)
Endpoint:POST https://webinaris.co/api/unsubscribe
The parameters must be sent as JSON in the body of the HTTP request. The Content-Type header must be set to application/json.
Description:
Unsubscribes an email address from receiving further emails from Webinaris (opt-out).
Required parameters:
| Name | Type | Description |
|---|---|---|
| apikey | String | Global API key (found in the respective webinar in the “Expert settings” -> “API” menu) |
| String | Email address for logging out | |
| version | String | API version, e.g., 'v1.0' |
Answer:
JSON object with status message:
| Field | Type | Description |
|---|---|---|
| status | String | 200 (for OK), 400 (Bad Request) 500 (Internal Server Error) |
| success | String | "true" or "false" |
5. Query participant data
Endpoint:POST https://webinaris.co/api/user
The parameters must be sent as JSON in the body of the HTTP request. The Content-Type header must be set to application/json.
Description:
Returns all registrations for an email address.
Required parameters:
| Name | Type | Description |
|---|---|---|
| apikey | String | Global API key (found in the respective webinar in the “Expert settings” -> “API” menu) |
| String | Email address for logging out | |
| version | String | API version, e.g., 'v1.0' |
Optional parameters:
| Name | Type | Description |
|---|---|---|
| webinar_id | String | Comma-separated list of webinar IDs (found in the respective webinar in the “Expert Settings” -> “API” menu) |
| date-from | String | Date filter: From when should registrations be returned? (UNIX timestamp or in DD.MM.YYYY HH:MM format) |
| date-to | String | Date filter: Until when should registrations be returned? (UNIX timestamp or in DD.MM.YYYY HH:MM format) |
| timezone | String | Time zone for the date filter according to tzdatabase (e.g., “Europe/Berlin”). If no time zone is specified, the account time zone is used. |
An array of login objects with the following fields:
| Field | Type | Description |
|---|---|---|
| status | String | 200 (for OK), 400 (Bad Request) 500 (Internal Server Error) |
| success | String | "true" or "false" |
| participation_status | String | Participation status. Possible values: “participated”, “not-participated”, “future-showtime” |
| email_status | String | Email opt-in status. Possible values: “unsubscribed,” “confirmed,” “confirmation-pending,” “no-confirmation-required” |
| firstname | String | Participant's first name |
| lastname | String | Participant's last name |
| note | String | Note |
| phone | String | Phone number |
| source_id | String | Participant's source |
| affiliate_id | String | Affiliate-ID |
| utm_campaign | String | UTM-Campaign-name |
| utm_content | String | UTM-Content |
| utm_medium | String | UTM-Medium |
| utm_source | String | UTM-Source |
| utm_term | String | UTM-Term |
| access | String | Indicates whether the participant is allowed to attend the webinar or not. Values: “active” or “inactive” |
| timezone | String | Time zone of the webinar date according to tzdatabase (e.g., “Europe/Berlin”). If no time zone is specified, the webinar time zone is used. |
| gender | String | Gender of the participant, if available. Possible values: “non-binary,” “female,” “male,” “unknown.” |
| showtime_time | String | Time of the webinar date in the time zone of the date in HH:MM. |
| showtime_date | String | Date of the webinar date in the time zone of the date in DD.MM.YYYY. |
| unixtimestamp | Number | Unix timestamp of the webinar date in seconds |
| registration_time | Number | Unix timestamp of the time at which the participant registered (note: not the webinar date) |
| webinarroom_url | String | Webinar room URL |
| replay_7day_pause-seek | String | Replay link (valid for 7 days, with pause/seek) |
| replay_7day_no_pause-seek | String | Replay link (valid for 7 days, without pause/seek) |
| replay_3day_pause-seek | String | Replay link (valid for 3 days, with pause/seek) |
| replay_3day_no_pause-seek | String | Replay link (valid for 3 days, without pause/seek) |
| doipage_url | String | URL to the DOI confirmation page (empty if not available) |
| thankyoupage_url | String | URL to the thank you page |
| webinar_internal-title | String | Internal name of the webinar |
| webinar_public-title | String | Public title of the webinar |
Versions & Changes