This API is versioned 1.0.0, the path contains /v1.
Some new optional attributes in the API responses or/and in API request bodies may be added in the future.
A client must be able to ignore these new attributes.
The API will be backward compatible with the current version.
Browse our support web site https://support.voila.live to retrieve frequently asked questions or contact us by email
This API offers a form of authentication based on a Bearer token (JWT access token).
- Authorization header with a Bearer token
The bearer token is a JWT access token that can be retrieved from the authentication endpoint with a client id and client secret.
The bearer token contains an expiration date. Client Id and Client Secret can be found in the Public API section of the Integrations page of the Voilà backoffice called Backstage
The client secret must be kept secret and should never be shared publicly.
A clientId/clientSecret allows you to access the Voilà API on behalf of your organization.
The organization identifier can also be found in the Public API section of the Integrations page of the Voilà backoffice called Backstage https://backstage.voila.live.
When requesting a bearer token from the authentication endpoint, you must specify the scope `voila/partner_access'.
client id and client secret must be encoded in base64 and sent in the Authorization header such as:
Authorization: Basic BASE64(CLIENT_ID:CLIENT_SECRET)
curl --request POST \
--url https://public-auth.voila.live/oauth2/token \
--header 'Authorization: Basic NXNjYTh1Z3A1N21zYWdidGticGlicGpqMGk6dGdw' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials \
--data 'scope=voila/partner_access'
{
"access_token": "eyJraWQiOiJzNUVENGNOYnBld3BnTEc0cHR0TGZ6eExzS2U0a1J0Q2l0R2xlYnBLblwvWT0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1c2NhOHVncDU3bXNhZ2J0a2JwaWJwamowaSIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoidm9pbGFcL2FuYWx5dGljczpyZWFkIHZvaWxhXC9yZWdpc3RyYXRpb246d3JpdGUiLCJhdXRoX3RpbWUiOjE2OTQwMDQ1NTIsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbVwvZXUtd2VzdC0xX1JlV3g3NVQ4bSIsImV4cCI6MTY5NDAwODE1MiwiaWF0IjoxNjk0MDA0NTUyLCJ2ZXJzaW9uIjoyLCJqdGkiOiI1MDBlODI2MC1lOWQxLTRjYjYtYTgxYS02YzlmZDlmNWQ2ZTMiLCJjbGllbnRfaWQiOiI1c2NhOHVncDU3bXNhZ2J0a2JwaWJwamowaSJ9.YcbHxB_JwHSwpOKWtZSf5HCZv20QibT3riT9JpkrGOGNAt3HGRd2dIQuEyCdqtCroTWCluUxj3WtKmTaYQ05aybWpxEH7GaHKJbQa52RKfjJWkYxuwep86E-c5LrY38JDo3p1EIjHADF-eqvj91IkgX0dGQxToyTiI5IWJBfFUxb-lQ9ATvrIgj40UTDLTfDxwVblrdCmXlD8vgMThhB1YXebo5Ik94eb4xUaaMFG95KXu42kUNKK0m3_3JKhZ_me57uiWzJTo-7rYCX1ncxBgH0kqtFpwEBPSg3FPpp2Knz2CEE3vFgk9YIW6IvmQkfRsY8v98tkZ5lwEBuX8MOdg",
"expires_in": 3600,
"token_type": "Bearer"
}
curl --request GET \
--url https://public-api.voila.live/organizations/123/ping \
--header 'Authorization: Bearer eyJraWQiOiJzNUVENGNOYnBld3BnTEc0cHR0TGZ6eExzS2U0a1J0Q2l0R2xlYnBLblwvWT0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1c2NhOHVncDU3bXNhZ2J0a2JwaWJwamowaSIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoicHVibGljYXBpXC9yZWFkOndyaXRlOm9yZ2FuaXphdGlvbjoxMjMiLCJhdXRoX3RpbWUiOjE2OTM1Nzk0MjAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC5ldS13ZXN0LTEuYW1hem9uYXdzLmNvbVwvZXUtd2VzdC0xX1JlV3g3NVQ4bSIsImV4cCI6MTY5MzU4MzAyMCwiaWF0IjoxNjkzNTc5NDIwLCJ2ZXJzaW9uIjoyLCJqdGkiOiJlYTlmMjFiOS1lYTg0LTQ5ZjYtODY0Zi0xZWVmMWE4ZGY5ZTUiLCJjbGllbnRfaWQiOiI1c2NhOHVncDU3bXNhZ2J0a2JwaWJwamowaSJ9.IND7_YWyfXZly_AQh5dxBdmT-aqAvQJky5dsZnWLhRYkQ_9U5bsQzTw0tBLo3Jj0nb-jKKgVTiPROlNC0u9dAUbnpXpZTsaEE4NiE1tF2EUqfauLDs63iLPvM5rK_7JbRFrtT1fh5T7-lvUxDsuVZytXB0HDuES1NX60v_zN8X_zfIfoHgW4jziCXjlMtMASSD81F-6hhTWX3GHinrkmJcO-w2vFeP4G547lr6u4iICci-_TBhqAFJHUh-2F59ByUKJt2uiIqED5XRgV2925IDtck59xwkKr_wxYnFLlZmg7kIFBQz8gKjZ57hZe8TIHMlQrQSfcNUqxKQMtfxpI-A'
Test authentication
Return organizationId. This can be suitable for testing the authentication mechanism.
Authorizations:
path Parameters
organizationId required | string Identifier of the organization. Organization is the equivalent of a tenant. This is a fixed identifier that can be found on https://backstage.voila.live. An organization can contain several programs. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "organizationId": "string"
}
Register an attendee
Register an attendee for a given program
Authorizations:
path Parameters
organizationId required | string Identifier of the organization. Organization is the equivalent of a tenant. This is a fixed identifier that can be found on https://backstage.voila.live. An organization can contain several programs. |
programId required | string Identifier of the program. Program id can be found on https://backstage.voila.live. A program can contain several sessions. |
Request Body schema: application/json
externalId | string use this field to identify an attendee with your own identifier |
firstName required | string |
lastName required | string |
email required | string |
isPersonalDataSharingAccepted required | boolean true if attendee has accepted GDPR-related terms or conditions |
Responses
Request samples
- Payload
{- "externalId": "string",
- "firstName": "John",
- "lastName": "Smith",
- "email": "email@simple.com",
- "isPersonalDataSharingAccepted": true
}
Response samples
- 201
- 400
- 401
- 403
- 500
{- "id": "2UkeHgurPvSkil8XB87WUldZzSv",
- "externalId": "string",
- "organizationId": "string",
- "programId": "string",
- "createdAt": "2024-01-29T08:17:59.264Z",
- "firstName": "John",
- "lastName": "Smith",
- "email": "john.smith@voila.live",
- "isPersonalDataSharingAccepted": true,
- "accessLink": "string"
}
Get attendees statistics
List all attendees who showed up during the live or watched the replay for a given session inside a program.
Authorizations:
path Parameters
organizationId required | string Identifier of the organization. Organization is the equivalent of a tenant. This is a fixed identifier that can be found on https://backstage.voila.live. An organization can contain several programs. |
programId required | string Identifier of the program. Program id can be found on https://backstage.voila.live. A program can contain several sessions. |
sessionId required | string Identifier of the session. Session id can be found on https://backstage.voila.live. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
[- {
- "attendeeId": "string",
- "email": "john.smith@voila.live",
- "liveWatchTime": 10,
- "replayWatchTime": 10
}
]
List chat messages
List all chat messages from attendees after your live for a given session inside a program.
Authorizations:
path Parameters
organizationId required | string Identifier of the organization. Organization is the equivalent of a tenant. This is a fixed identifier that can be found on https://backstage.voila.live. An organization can contain several programs. |
programId required | string Identifier of the program. Program id can be found on https://backstage.voila.live. A program can contain several sessions. |
sessionId required | string Identifier of the session. Session id can be found on https://backstage.voila.live. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
[- {
- "attendeeId": "string",
- "email": "john.smith@voila.live",
- "messages": [
- {
- "message": "hello all",
- "timestamp": "2024-02-12T09:31:16.593Z"
}
]
}
]
List questions
List all questions from attendees after your live for a given session inside a program
Authorizations:
path Parameters
organizationId required | string Identifier of the organization. Organization is the equivalent of a tenant. This is a fixed identifier that can be found on https://backstage.voila.live. An organization can contain several programs. |
programId required | string Identifier of the program. Program id can be found on https://backstage.voila.live. A program can contain several sessions. |
sessionId required | string Identifier of the session. Session id can be found on https://backstage.voila.live. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
[- {
- "attendeeId": "string",
- "email": "john.smith@voila.live",
- "messages": [
- {
- "message": "How are you?",
- "timestamp": "2024-02-12T09:31:16.593Z",
- "votes": 2
}
]
}
]