Echo API v1.0.4
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Last update: 23/02/2024
- Set video cover as optional in VideoUpdateRequest (put, patch)
The Echo API is a public API that has been defined and developed to give external partners the possibility to create and manage their experiences progamatically.
The API is composed of various endpoints to manage and retrieve information from Echo
- All Experiences
- Experiences
- Venues
- Audiences
- Categories
- Communes
- Environments
- Formats
In order to use this API, a api-key needs to be issued through Echo's website.
API calls need to be made to: https://api.echo.lu/v1/
Warning: Data models still subject to change! In case of questions or proposals, go to https://newaccount1615557201808.freshdesk.com/
Important: Only small amount of events from Events in Luxembourg were imported and attached to an organisation.
Dates: the date-time for dates has to be a date as an ISO string, as defined here: https://tools.ietf.org/html/rfc3339#section-5.6
The API expects the dates in ISO string, and on ECHO it will be displayed in 'Europe/Luxembourg' timezone.
If the date is in UTC form (preferrable):
- like 2022-04-23T18:00:00Z on ECHO it will be 23/04/2022, 20:00,
- or for winter 2022-01-23T19:00:00Z on ECHO it will be 23/01/2022, 20:00,
If the date is in GMT, have to specify the offset according to when the experience is planned:
- like 2022-04-23T18:00:00+02:00 on ECHO it will be 23/04/2022, 20:00,
- or for winter 2022-01-23T19:00:00+01:00 on ECHO it will be 23/01/2022, 20:00,
Authentication
- API Key (SecurityHeader)
- Parameter Name: api-key, in: header. API key issued through **Echo's website
Experiences
CancelExperience
Code samples
# You can also use wget
curl -X PATCH /experiences/{id}/cancel \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PATCH /experiences/{id}/cancel HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}/cancel',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}/cancel',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.patch '/experiences/{id}/cancel',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.patch('/experiences/{id}/cancel', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/experiences/{id}/cancel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /experiences/{id}/cancel
Display as Cancelled an already published experience, by setting its status to cancelled
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | CancelPostponeCompleteExperienceSuccessResponse |
400 | Bad Request | 400 response | CancelPostponeCompleteExperienceErrorResponse |
404 | Not Found | 404 response | CancelPostponeCompleteExperienceNotFoundResponse |
CompleteExperience
Code samples
# You can also use wget
curl -X PATCH /experiences/{id}/complete \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PATCH /experiences/{id}/complete HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}/complete',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}/complete',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.patch '/experiences/{id}/complete',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.patch('/experiences/{id}/complete', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}/complete");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/experiences/{id}/complete", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /experiences/{id}/complete
Display as Complete an already published experience, by setting its status to complete
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | CancelPostponeCompleteExperienceSuccessResponse |
400 | Bad Request | 400 response | CancelPostponeCompleteExperienceErrorResponse |
404 | Not Found | 404 response | CancelPostponeCompleteExperienceNotFoundResponse |
CreateExperience
Code samples
# You can also use wget
curl -X POST /https://api.echo.lu/v1/experiences \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
POST /https://api.echo.lu/v1/experiences HTTP/1.1
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/https://api.echo.lu/v1/experiences',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/https://api.echo.lu/v1/experiences',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.post '/https://api.echo.lu/v1/experiences',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.post('/https://api.echo.lu/v1/experiences', params={
}, headers = headers)
print r.json()
URL obj = new URL("/https://api.echo.lu/v1/experiences");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/https://api.echo.lu/v1/experiences", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST https://api.echo.lu/v1/experiences
Create a new experience
Body parameter
{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateExperienceRequest | true | none |
Example responses
201 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | 201 response | CreateExperienceResponse |
400 | Bad Request | 400 response | CreateExperienceErrorResponse |
DeleteExperience
Code samples
# You can also use wget
curl -X DELETE /experiences/{id} \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
DELETE /experiences/{id} HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.delete '/experiences/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.delete('/experiences/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/experiences/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /experiences/{id}
Delete an existing experience
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | DeleteExperienceSuccessResponse |
400 | Bad Request | 400 response | DeleteExperienceErrorResponse |
404 | Not Found | 404 response | DeleteExperienceNotFoundResponse |
409 | Conflict | 409 response | DeleteExperienceConflictResponse |
GetExperience
Code samples
# You can also use wget
curl -X GET /experiences/{id} \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /experiences/{id} HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/experiences/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/experiences/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/experiences/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /experiences/{id}
Get an existing experience
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | GetExperienceResponse |
400 | Bad Request | 400 response | GetExperienceErrorResponse |
404 | Not Found | 404 response | GetExperienceNotFoundResponse |
PatchExperience
Code samples
# You can also use wget
curl -X PATCH /experiences/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PATCH /experiences/{id} HTTP/1.1
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.patch '/experiences/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.patch('/experiences/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/experiences/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /experiences/{id}
Update an existing experience
Body parameter
{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
body | body | UpdateExperienceRequest | true | none |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | UpdateExperienceResponse |
400 | Bad Request | 400 response | UpdateExperienceErrorResponse |
404 | Not Found | 404 response | UpdateExperienceNotFoundResponse |
PutExperience
Code samples
# You can also use wget
curl -X PUT /experiences/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PUT /experiences/{id} HTTP/1.1
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.put '/experiences/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.put('/experiences/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/experiences/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /experiences/{id}
Update an existing experience
Body parameter
{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
body | body | CreateExperienceRequest | true | none |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | UpdateExperienceResponse |
400 | Bad Request | 400 response | UpdateExperienceErrorResponse |
404 | Not Found | 404 response | UpdateExperienceNotFoundResponse |
ListExperience
Code samples
# You can also use wget
curl -X GET /experiences \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /experiences HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/experiences',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/experiences', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/experiences", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /experiences
Get all experience from the database with applied filters
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
audiences | query | array[string] | false | Audience IDs |
categories | query | array[string] | false | Category IDs |
communes | query | array[string] | false | Commune IDs of the venues where the experiences are taking place |
date | query | DateRequest | false | none |
pagination | query | PaginationRequest | false | Pagination if it's needed. All experiences by default |
venues | query | array[string] | false | Venue IDs |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListExperienceResponse |
400 | Bad Request | 400 response | ListExperienceErrorResponse |
404 | Not Found | 404 response | ListExperienceNotFoundResponse |
PostponeExperience
Code samples
# You can also use wget
curl -X PATCH /experiences/{id}/postpone \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PATCH /experiences/{id}/postpone HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}/postpone',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}/postpone',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.patch '/experiences/{id}/postpone',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.patch('/experiences/{id}/postpone', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}/postpone");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/experiences/{id}/postpone", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /experiences/{id}/postpone
Display as Postponed an already published experience, by setting its status to postponed
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | CancelPostponeCompleteExperienceSuccessResponse |
400 | Bad Request | 400 response | CancelPostponeCompleteExperienceErrorResponse |
404 | Not Found | 404 response | CancelPostponeCompleteExperienceNotFoundResponse |
UnpublishExperience
Code samples
# You can also use wget
curl -X PATCH /experiences/{id}/unpublish \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PATCH /experiences/{id}/unpublish HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/experiences/{id}/unpublish',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/experiences/{id}/unpublish',
{
method: 'PATCH',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.patch '/experiences/{id}/unpublish',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.patch('/experiences/{id}/unpublish', params={
}, headers = headers)
print r.json()
URL obj = new URL("/experiences/{id}/unpublish");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/experiences/{id}/unpublish", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /experiences/{id}/unpublish
Unpublish an experience, and set its status to draft
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | CancelPostponeCompleteExperienceSuccessResponse |
400 | Bad Request | 400 response | CancelPostponeCompleteExperienceErrorResponse |
404 | Not Found | 404 response | CancelPostponeCompleteExperienceNotFoundResponse |
Venues
CreateVenue
Code samples
# You can also use wget
curl -X POST /venues \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
POST /venues HTTP/1.1
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/venues',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/venues',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.post '/venues',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.post('/venues', params={
}, headers = headers)
print r.json()
URL obj = new URL("/venues");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/venues", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /venues
Create a new venue
Body parameter
{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateVenueRequest | true | none |
Example responses
201 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | 201 response | CreateVenueResponse |
400 | Bad Request | 400 response | CreateVenueErrorResponse |
ListVenues
Code samples
# You can also use wget
curl -X GET /venues \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /venues HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/venues',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/venues',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/venues',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/venues', params={
}, headers = headers)
print r.json()
URL obj = new URL("/venues");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/venues", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /venues
Get all venues from the database with applied filters
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
categories | query | array[string] | false | Category IDs |
communes | query | array[string] | false | Commune IDs |
pagination | query | PaginationRequest | false | none |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListVenuesResponse |
400 | Bad Request | 400 response | ListVenuesErrorResponse |
404 | Not Found | 404 response | ListVenuesNotFoundResponse |
GetVenue
Code samples
# You can also use wget
curl -X GET /venues/{id} \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /venues/{id} HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/venues/{id}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/venues/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/venues/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/venues/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/venues/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/venues/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /venues/{id}
Get a venue
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Venue ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | GetVenueResponse |
400 | Bad Request | 400 response | GetVenueErrorResponse |
404 | Not Found | 404 response | GetVenueNotFoundResponse |
PatchVenue
Code samples
# You can also use wget
curl -X PATCH /venues/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PATCH /venues/{id} HTTP/1.1
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/venues/{id}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/venues/{id}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.patch '/venues/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.patch('/venues/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/venues/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/venues/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /venues/{id}
Update a venue
Body parameter
{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Venue ID |
body | body | PatchVenueRequest | true | none |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | UpdateVenueResponse |
400 | Bad Request | 400 response | UpdateVenueErrorResponse |
404 | Not Found | 404 response | UpdateVenueNotFoundResponse |
PutVenue
Code samples
# You can also use wget
curl -X PUT /venues/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
PUT /venues/{id} HTTP/1.1
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/venues/{id}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/venues/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.put '/venues/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.put('/venues/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/venues/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/venues/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /venues/{id}
Update a venue
Body parameter
{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Venue ID |
body | body | PutVenueRequest | true | none |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | UpdateVenueResponse |
400 | Bad Request | 400 response | UpdateVenueErrorResponse |
404 | Not Found | 404 response | UpdateVenueNotFoundResponse |
Published Experiences
GetPublishedExperience
Code samples
# You can also use wget
curl -X GET /allExperiences/{id} \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /allExperiences/{id} HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/allExperiences/{id}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/allExperiences/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/allExperiences/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/allExperiences/{id}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/allExperiences/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/allExperiences/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /allExperiences/{id}
Get published existing experience
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Experience ID |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | GetExperienceResponse |
400 | Bad Request | 400 response | GetExperienceErrorResponse |
404 | Not Found | 404 response | GetExperienceNotFoundResponse |
ListPublishedExperiences
Code samples
# You can also use wget
curl -X GET /allExperiences?paginagtion[page]=0&paginagtion[perPage]=100 \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /allExperiences?page=0&perPage=0 HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/allExperiences',
method: 'get',
data: '?page=0&perPage=0',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/allExperiences?page=0&perPage=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/allExperiences',
params: {
'pagination' => '[PaginationRequest](#schemapaginationrequest)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/allExperiences', params={
'pagination': {
"page": 0,
"perPage": 0
}
}, headers = headers)
print r.json()
URL obj = new URL("/allExperiences?page=0&perPage=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/allExperiences", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /allExperiences
Get all published experiences from the database with applied filters
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
audiences | query | array[string] | false | Audience IDs |
categories | query | array[string] | false | Category IDs |
communes | query | array[string] | false | Commune IDs of the venues where the experiences are taking place |
date | query | DateRequest | false | none |
organisations | query | array[string] | false | Organisations |
pagination | query | PaginationRequest | true | For published experiences pagination is required. Max 100 items per page |
tags | query | array[string] | false | Tags |
venues | query | array[string] | false | Venue IDs |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListExperienceResponse |
400 | Bad Request | 400 response | ListExperienceErrorResponse |
404 | Not Found | 404 response | ListExperienceNotFoundResponse |
Audiences
ListAudiences
Code samples
# You can also use wget
curl -X GET /audiences \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /audiences HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/audiences',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/audiences',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/audiences',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/audiences', params={
}, headers = headers)
print r.json()
URL obj = new URL("/audiences");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/audiences", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /audiences
Get all audiences
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListAudiencesResponse |
400 | Bad Request | 400 response | ListAudiencesErrorResponse |
404 | Not Found | 404 response | ListAudiencesNotFoundResponse |
Categories
ListCategories
Code samples
# You can also use wget
curl -X GET /categories?type=string \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /categories?type=string HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/categories',
method: 'get',
data: '?type=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/categories?type=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/categories',
params: {
'type' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/categories', params={
'type': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/categories?type=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/categories", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /categories
Get all venues from the database with applied filters
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
type | query | string | true | Category type ('experience', 'venue') |
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"parent": "string",
"order": 0,
"titles": "string",
"type": "experience"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListCategoriesResponse |
400 | Bad Request | 400 response | ListCategoriesErrorResponse |
404 | Not Found | 404 response | ListCategoriesNotFoundResponse |
Communes
ListCommunes
Code samples
# You can also use wget
curl -X GET /communes \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /communes HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/communes',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/communes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/communes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/communes', params={
}, headers = headers)
print r.json()
URL obj = new URL("/communes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/communes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /communes
Get all communes
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string",
"parent": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListCommunesResponse |
400 | Bad Request | 400 response | ListCommunesErrorResponse |
404 | Not Found | 404 response | ListCommunesNotFoundResponse |
Enviroments
ListEnvironments
Code samples
# You can also use wget
curl -X GET /environments \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /environments HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/environments',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/environments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/environments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/environments', params={
}, headers = headers)
print r.json()
URL obj = new URL("/environments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/environments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /environments
Get all environments
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListEnvironmentsResponse |
400 | Bad Request | 400 response | ListEnvironmentsErrorResponse |
404 | Not Found | 404 response | ListEnvironmentsNotFoundResponse |
Formats
ListFormats
Code samples
# You can also use wget
curl -X GET /formats \
-H 'Accept: application/json' \
-H 'api-key: API_KEY'
GET /formats HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
$.ajax({
url: '/formats',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'api-key':'API_KEY'
};
fetch('/formats',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'api-key' => 'API_KEY'
}
result = RestClient.get '/formats',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'api-key': 'API_KEY'
}
r = requests.get('/formats', params={
}, headers = headers)
print r.json()
URL obj = new URL("/formats");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"api-key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/formats", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /formats
Get all formats
Example responses
200 Response
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | 200 response | ListFormatsResponse |
400 | Bad Request | 400 response | ListFormatsErrorResponse |
404 | Not Found | 404 response | ListFormatsNotFoundResponse |
Schemas
Address
{
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
street | string | true | none | none |
number | string | false | none | none |
postcode | string | true | none | none |
town | string | true | none | none |
commune | string | true | none | none |
country | string | true | none | none |
longitude | string | true | none | none |
latitude | string | true | none | none |
gid | string | false | none | none |
mapUrl | string | false | none | none |
Audience
{
"id": "string",
"titles": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
titles | Content | true | none | none |
CancelPostponeCompleteExperienceErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
CancelPostponeCompleteExperienceNotFoundResponse
{}
REQUEST FAILED - no published experience found
Properties
None
CancelPostponeCompleteExperienceSuccessResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
result | boolean | true | none | none |
Category
{
"id": "string",
"parent": "string",
"order": 0,
"titles": "string",
"type": "experience"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
parent | string | false | none | none |
order | number(float) | false | none | none |
titles | Content | true | none | none |
type | string | true | none | none |
Enumerated Values
Property | Value |
---|---|
type | experience |
type | venue |
Commune
{
"id": "string",
"titles": "string",
"parent": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
titles | Content | true | none | none |
parent | string | false | none | none |
Contact
{
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | none |
string | true | none | none | |
phone | string | true | none | none |
website | string | false | none | none |
company | string | true | none | none |
Content
"string"
Properties
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» en | string | false | none | none |
» fr | string | false | none | none |
» de | string | false | none | none |
CreateExperienceErrorResponse
{
"field": "string",
"message": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
field | string | true | none | Error message |
message | string | true | none | none |
CreateExperienceRequest
{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}
*Dates: the date-time for dates has to be a date as an ISO string, as defined here: https://tools.ietf.org/html/rfc3339#section-5.6
The API expects the dates in ISO string, and on ECHO it will be displayed in 'Europe/Luxembourg' timezone.
If the date is in UTC form (preferrable):
- like 2022-04-23T18:00:00Z on ECHO it will be 23/04/2022, 20:00,
- or for winter 2022-01-23T19:00:00Z on ECHO it will be 23/01/2022, 20:00,
If the date is in GMT, have to specify the offset according to when the experience is planned:
- like 2022-04-23T18:00:00+02:00 on ECHO it will be 23/04/2022, 20:00,
- or for winter 2022-01-23T19:00:00+01:00 on ECHO it will be 23/01/2022, 20:00,
Prices: The experience is displayed as free until the first ticket is added.*
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | Content | true | none | none |
subtitle | Content | false | none | none |
pictures | [PictureCreateRequest] | true | none | List of pictures to add to the experience. First picture will be used as a main image. Important: file names should be unique, and file size should be less than 2MB! Allowed file types: jpeg, png |
videos | [VideoCreateRequest] | false | none | none |
dates | [oneOf] | true | none | none |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDateSingle | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDateRecurring | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDatePermanent | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
venues | [string] | true | none | none |
location | Location | false | none | none |
description | Content | true | none | none |
categories | [string] | true | none | Categories: id from the /categories endpoint |
audiences | [string] | true | none | none |
languages | [string] | true | none | List of languages the experience is in: lb, fr, de, en, etc. |
environments | [string] | true | none | Experience environments: indoor, outdoor, online, etc. |
formats | [string] | true | none | Formats: workshop, concert, lecture, etc. |
tags | [string] | true | none | none |
contact | Contact | false | none | none |
tickets | [Ticket] | false | none | Tickets |
purchaseLink | string | false | none | Purchase link: url of the ticketing page if not present in the Tickets |
luxembourgTickets | LuxTicketSettings | false | none | Luxembourg Ticket Settings in case if the tickets for the experience should be available via luxembourg-ticket.lu there are additional settings to fine tune the user experience |
salesContact | Contact | false | none | none |
status | string | false | none | Status: - draft: add a new experience to the organisation's repository as a draft. - pending: save and ask for validation of the experience in one request. (in case of PUT: the validation is triggered only if the previous status was draft) |
Enumerated Values
Property | Value |
---|---|
status | draft |
status | pending |
CreateExperienceResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
record | Experience | true | none | Description for Experience Model |
CreateVenueErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
CreateVenueRequest
{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | true | none | Title |
pictures | [PictureCreateRequest] | false | none | List of pictures to import/add to the venue. First picture will be used as a main image. Important: file names should be unique! |
location | Location | true | none | none |
description | Content | true | none | none |
categories | [string] | true | none | Category IDs |
website | string | true | none | Website URL |
contact | Contact | true | none | none |
CreateVenueResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
record | Venue | true | none | Venue Model |
DateRequest
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z"
}
A date-time
as defined by https://tools.ietf.org/html/rfc3339#section-5.6
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
from | string(date-time) | true | none | none |
to | string(date-time) | false | none | none |
DeleteExperienceConflictResponse
{}
REQUEST FAILED - Published experience found, unpublish it first.
Properties
None
DeleteExperienceErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
DeleteExperienceNotFoundResponse
{}
Properties
None
DeleteExperienceSuccessResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"result": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
result | boolean | true | none | none |
Experience
{
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
Description for Experience Model
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | Experience ID |
title | Content | true | none | none |
subtitle | Content | false | none | none |
pictures | [Picture] | true | none | List of pictures: { size, url, isPlaceholder } |
videos | [Video] | false | none | Videos: { id, type, url } |
dates | [oneOf] | true | none | Dates for Single, Recurring, or Permanent experiences |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDateSingle | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDateRecurring | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDatePermanent | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
endDate | string(date-time) | true | none | Date of last appearence on the events list (generated from dates array) |
venues | [Venue] | true | none | List of venues |
location | Location | false | none | none |
description | Content | true | none | none |
categories | [string] | true | none | List of category IDs |
tags | [string] | true | none | List of tags |
audiences | [string] | true | none | Audiences: { id, titles } |
languages | [string] | true | none | List of languages the experience is in: lb, fr, de, en, etc. |
environments | [string] | true | none | Experience environments: indoor, outdoor, online, etc. |
formats | [string] | true | none | Formats: workshop, concert, lecture, etc. |
contact | Contact | false | none | none |
tickets | [Ticket] | false | none | List of tickets: title, currency, value, etc. |
purchaseLink | string | false | none | Purchase Link: in case if any of tickets don't have link to the purchase page, this will be used |
luxembourgTickets | LuxTicketSettings | false | none | Luxembourg Ticket Settings in case if the tickets for the experience should be available via luxembourg-ticket.lu there are additional settings to fine tune the user experience |
salesContact | Contact | false | none | none |
status | ExperienceStatus | false | none | none |
organisationId | string | true | none | Organisation ID |
timestamps | Timestamps | true | none | none |
ExperienceDatePermanent
{
"openingHours": {
"monday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"tuesday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"wednesday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"thursday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"friday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"saturday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"sunday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
}
},
"closingTimes": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"purchaseLink": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
openingHours | OpeningHours | true | none | none |
closingTimes | [ExperienceDateSingle] | false | none | none |
from | string(date-time) | true | none | none |
to | string(date-time) | true | none | none |
purchaseLink | string | false | none | none |
ExperienceDateRecurring
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"rrule": "string",
"purchaseLink": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
from | string(date-time) | true | none | Start date and time of the occurences in the rrule (overwrite the date in the rrule if tin the rrule date is earlier) |
to | string(date-time) | true | none | End date and time of the occurences in the rrule (overwrite the date in the rrule if the rrule have a later date) |
duration | number(float) | false | none | The length of the show in minutes |
rrule | string | true | none | Recurrence Rule from the iCal RFC (https://datatracker.ietf.org/doc/html/rfc5545) |
purchaseLink | string | false | none | Purchase Link: in case if there is a direct link to the repeating events from the rrule |
ExperienceDateSingle
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
from | string(date-time) | true | none | Start date and time of the experience |
to | string(date-time) | true | none | End date and time of the experience |
duration | number(float) | false | none | The length of the show in minutes |
purchaseLink | string | false | none | Purchase Link: in case if there is a direct link to the specific date |
cancelled | boolean | false | none | Can be set to dispaly the selected date as Cancelled |
postponed | boolean | false | none | Can be set to dispaly the selected date as Postponed |
complete | boolean | false | none | Can be set to dispaly the selected date as Complete (sold-out) |
ExperienceStatus
{
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
current | string | true | none | Current status of the experience: draft, pending, rejected or published. Only the first two can be set by API |
startDate | string(date-time) | true | none | Date and time when the status was set |
Format
{
"id": "string",
"titles": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | none |
titles | Content | true | none | none |
GetExperienceErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
GetExperienceNotFoundResponse
{}
Properties
None
GetExperienceResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
record | Experience | true | none | Description for Experience Model |
GetVenueErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
GetVenueNotFoundResponse
{}
Properties
None
GetVenueResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
record | Venue | true | none | Venue Model |
ListAudiencesErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListAudiencesNotFoundResponse
{}
Properties
None
ListAudiencesResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Audience] | true | none | none |
ListCategoriesErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListCategoriesNotFoundResponse
{}
Properties
None
ListCategoriesResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"parent": "string",
"order": 0,
"titles": "string",
"type": "experience"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Category] | true | none | none |
ListCommunesErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListCommunesNotFoundResponse
{}
Properties
None
ListCommunesResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string",
"parent": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Commune] | true | none | none |
ListEnvironmentsErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListEnvironmentsNotFoundResponse
{}
Properties
None
ListEnvironmentsResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Audience] | true | none | none |
ListExperienceErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListExperienceNotFoundResponse
{}
Properties
None
ListExperienceResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Experience] | true | none | [Description for Experience Model] |
ListFormatsErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListFormatsNotFoundResponse
{}
Properties
None
ListFormatsResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"titles": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Format] | true | none | none |
ListVenuesErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
ListVenuesNotFoundResponse
{}
Properties
None
ListVenuesResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"records": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
records | [Venue] | true | none | [Venue Model] |
Location
{
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
address | Address | true | none | none |
LuxTicketSettings
{
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
}
*Luxembourg Ticket Settings
in case if the tickets for the experience should be available via luxembourg-ticket.lu there are additional settings to fine tune the user experience*
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
publishOnEventim | boolean | true | none | Eventim listing: if true, this tickets will be available on eventim.de |
includeSalesFee | boolean | true | none | Include the sales fee in the price or add it to the original price |
delivery | [string] | true | none | Delivery type options: self-print and post |
saleLimit | integer(int32) | false | none | Sale limit: sell no more than n-tickets via luxembourg-ticket.lu (common number across the all ticket types) |
excludedTickets | integer(int32) | false | none | Number of tickets excluded from sale |
kulturpassTickets | integer(int32) | false | none | Number of tickets on sale with Kulturpass discount |
requiresSeatingPlan | boolean | true | none | Experience requires a seating plan (added manually later) |
seatingReservation | boolean | true | none | Seating reservation |
OpeningHours
{
"monday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"tuesday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"wednesday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"thursday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"friday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"saturday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
},
"sunday": {
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
monday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
tuesday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
wednesday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
thursday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
friday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
saturday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
sunday | OpeningHoursSetting | false | none | If ommited, the day is considered closed If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to If breakTime is true, the day is considered open from from - to and secondFrom - secondTo |
OpeningHoursSetting
{
"from": "string",
"to": "string",
"breakTime": true,
"secondFrom": "string",
"secondTo": "string"
}
*If ommited, the day is considered closed
If only from and to are provided, the day is considered open from from - 12:00 and 12:00 - to
If breakTime is true, the day is considered open from from - to and secondFrom - secondTo*
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
from | string | true | none | Time in format HH:mm |
to | string | true | none | Time in format HH:mm |
breakTime | boolean | false | none | Flag to indicate if there is a 2nd time slot |
secondFrom | string | false | none | Time in format HH:mm Only take into account if breakTime is true |
secondTo | string | false | none | Time in format HH:mm Only take into account if breakTime is true |
PaginationRequest
{
"page": 0,
"perPage": 0
}
*Example:
?pagination[page]=0&pagination[perPage]=10
The request returns nothing if the requested page exceeds records/perPage*
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
page | number(float) | true | none | none |
perPage | number(float) | true | none | none |
PatchVenueRequest
{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | false | none | Title |
pictures | [PictureUpdateRequest] | false | none | List of pictures to be updated. Important: all pictures will be replaced. File names should be unique! |
location | Location | false | none | none |
description | Content | false | none | none |
categories | [string] | false | none | Category IDs |
website | string | false | none | Website URL |
contact | Contact | false | none | none |
Picture
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
Description for Picture Model
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
url | string | true | none | none |
copy | string | false | none | none |
alt | string | false | none | none |
originalUrl | string | true | none | none |
fileName | string | true | none | none |
previews | object | false | none | none |
» card | PicturePreview | false | none | Picture preview That is an image that is created automatically when a new image for an experience or a venue is uploaded. Previews are lower quality than the original, they differ in size and ratio, and are used on the website instead of the original one. Some of the basic preview sizes: card: 355x200 dashboard: 156x88 detail: 1600x900 featured: 896x504 share: 1200x630 |
» dashboard | PicturePreview | false | none | Picture preview That is an image that is created automatically when a new image for an experience or a venue is uploaded. Previews are lower quality than the original, they differ in size and ratio, and are used on the website instead of the original one. Some of the basic preview sizes: card: 355x200 dashboard: 156x88 detail: 1600x900 featured: 896x504 share: 1200x630 |
» detail | PicturePreview | false | none | Picture preview That is an image that is created automatically when a new image for an experience or a venue is uploaded. Previews are lower quality than the original, they differ in size and ratio, and are used on the website instead of the original one. Some of the basic preview sizes: card: 355x200 dashboard: 156x88 detail: 1600x900 featured: 896x504 share: 1200x630 |
» featured | PicturePreview | false | none | Picture preview That is an image that is created automatically when a new image for an experience or a venue is uploaded. Previews are lower quality than the original, they differ in size and ratio, and are used on the website instead of the original one. Some of the basic preview sizes: card: 355x200 dashboard: 156x88 detail: 1600x900 featured: 896x504 share: 1200x630 |
» share | PicturePreview | false | none | Picture preview That is an image that is created automatically when a new image for an experience or a venue is uploaded. Previews are lower quality than the original, they differ in size and ratio, and are used on the website instead of the original one. Some of the basic preview sizes: card: 355x200 dashboard: 156x88 detail: 1600x900 featured: 896x504 share: 1200x630 |
PictureCreateRequest
{
"url": "string",
"copy": "string",
"alt": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
url | string | true | none | URL pointing to an endpoint serving the image (jpeg, png) to import. Or a base64 string representing the image data in jpeg/png. File size limit: 2mb. |
copy | string | false | none | Copyright information of the image |
alt | string | false | none | Text for screen readers |
PicturePreview
{
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
*Picture preview
That is an image that is created automatically when a new image for an experience or a venue is uploaded. Previews are lower quality than the original, they differ in size and ratio, and are used on the website instead of the original one.
Some of the basic preview sizes: card: 355x200 dashboard: 156x88 detail: 1600x900 featured: 896x504 share: 1200x630*
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
size | string | true | none | none |
fileName | string | true | none | none |
url | string | true | none | none |
error | object | false | none | none |
» code | string | true | none | none |
» message | string | true | none | none |
PictureUpdateRequest
{
"url": "string",
"copy": "string",
"alt": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
url | string | true | none | URL pointing to the image to import, or a base64 string representing the image data |
copy | string | false | none | Copyright information of the image |
alt | string | false | none | Text for screen readers |
PutVenueRequest
{
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | true | none | Title |
pictures | [PictureUpdateRequest] | true | none | Pictures |
location | Location | true | none | none |
description | Content | true | none | none |
categories | [string] | true | none | Category IDs |
website | string | true | none | Website URL |
contact | Contact | true | none | none |
StatsResponse
{
"start": 0,
"end": 0,
"duration": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
start | integer(int32) | true | none | none |
end | integer(int32) | true | none | none |
duration | integer(int32) | true | none | none |
Ticket
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | Content | true | none | none |
price | number(float) | true | none | Price: the price of the ticket. Should be 0 if the entrance is free |
currency | string | false | none | none |
quantity | integer(int32) | false | none | Number: quantity of tickets available |
salesStart | any | false | none | Date (and time, optionally) when the ticket should be available for sell, if omitted ticket is available when the experience is published |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string(date) | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string(date-time) | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
salesEnd | any | false | none | Date (and time, optionally) when the ticket is not available, if omitted, the experience start date and time is used (you cannot buy a ticket after the start of the event) |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string(date) | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string(date-time) | false | none | none |
Enumerated Values
Property | Value |
---|---|
currency | EUR |
Timestamps
{
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
createdAt | string(date-time) | false | none | none |
createdBy | string | false | none | none |
updatedAt | string(date-time) | false | none | none |
updatedBy | string | false | none | none |
deletedAt | string(date-time) | false | none | none |
deletedBy | string | false | none | none |
UpdateExperienceErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
UpdateExperienceNotFoundResponse
{}
Properties
None
UpdateExperienceRequest
{
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string"
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"venues": [
"string"
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"tags": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": "draft"
}
*Update Experience Request
The date-time
for dates should set as defined by https://tools.ietf.org/html/rfc3339#section-5.6*
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | Content | false | none | none |
subtitle | Content | false | none | none |
pictures | [PictureUpdateRequest] | false | none | List of pictures to be updated. Important: all pictures will be replaced. File names should be unique, and file size should be less than 2MB! |
videos | [VideoUpdateRequest] | false | none | List of videos to add to the experience |
dates | [oneOf] | false | none | none |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDateSingle | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDateRecurring | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ExperienceDatePermanent | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
venues | [string] | false | none | none |
location | Location | false | none | none |
description | Content | false | none | none |
categories | [string] | false | none | none |
audiences | [string] | false | none | none |
languages | [string] | false | none | List of languages the experience is in: lb, fr, de, en, etc. |
environments | [string] | false | none | Experience environments: indoor, outdoor, online, etc. |
formats | [string] | false | none | Formats: workshop, concert, lecture, etc. |
tags | [string] | false | none | none |
contact | Contact | false | none | none |
tickets | [Ticket] | false | none | Tickets |
purchaseLink | string | false | none | Purchase link |
luxembourgTickets | LuxTicketSettings | false | none | Luxembourg Ticket Settings in case if the tickets for the experience should be available via luxembourg-ticket.lu there are additional settings to fine tune the user experience |
salesContact | Contact | false | none | none |
status | string | false | none | Status: - draft: mark that the experience was updated via API. - pending: send the experience to validation, works only if the previeus status was draft. |
Enumerated Values
Property | Value |
---|---|
status | draft |
status | pending |
UpdateExperienceResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"subtitle": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"videos": [
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
],
"dates": [
{
"from": "2019-08-24T14:15:22Z",
"to": "2019-08-24T14:15:22Z",
"duration": 0,
"purchaseLink": "string",
"cancelled": true,
"postponed": true,
"complete": true
}
],
"endDate": "2019-08-24T14:15:22Z",
"venues": [
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"tags": [
"string"
],
"audiences": [
"string"
],
"languages": [
"string"
],
"environments": [
"string"
],
"formats": [
"string"
],
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"tickets": [
{
"title": "string",
"price": 0,
"currency": "EUR",
"quantity": 0,
"salesStart": "2019-08-24",
"salesEnd": "2019-08-24"
}
],
"purchaseLink": "string",
"luxembourgTickets": {
"publishOnEventim": true,
"includeSalesFee": true,
"delivery": [
"self-print"
],
"saleLimit": 0,
"excludedTickets": 0,
"kulturpassTickets": 0,
"requiresSeatingPlan": true,
"seatingReservation": true
},
"salesContact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"status": {
"current": "string",
"startDate": "2019-08-24T14:15:22Z"
},
"organisationId": "string",
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
record | Experience | true | none | Description for Experience Model |
UpdateVenueErrorResponse
{
"error": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | string | true | none | Error message |
UpdateVenueNotFoundResponse
{}
Properties
None
UpdateVenueResponse
{
"stats": {
"start": 0,
"end": 0,
"duration": 0
},
"record": {
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
stats | StatsResponse | true | none | none |
record | Venue | true | none | Venue Model |
Venue
{
"id": "string",
"title": "string",
"pictures": [
{
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
}
],
"location": {
"address": {
"street": "string",
"number": "string",
"postcode": "string",
"town": "string",
"commune": "string",
"country": "string",
"longitude": "string",
"latitude": "string",
"gid": "string",
"mapUrl": "string"
}
},
"description": "string",
"categories": [
"string"
],
"website": "string",
"contact": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"company": "string"
},
"timestamps": {
"createdAt": "2019-08-24T14:15:22Z",
"createdBy": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"updatedBy": "string",
"deletedAt": "2019-08-24T14:15:22Z",
"deletedBy": "string"
}
}
Venue Model
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | Venue ID |
title | string | true | none | Title |
pictures | [Picture] | true | none | Pictures |
location | Location | true | none | none |
description | Content | true | none | none |
categories | [string] | true | none | Categories |
website | any | true | none | Venue website |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | string | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | [string] | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
contact | Contact | true | none | none |
timestamps | Timestamps | true | none | none |
Video
{
"type": "youtube",
"url": "string",
"cover": {
"url": "string",
"copy": "string",
"alt": "string",
"originalUrl": "string",
"fileName": "string",
"previews": {
"card": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"dashboard": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"detail": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"featured": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
},
"share": {
"size": "string",
"fileName": "string",
"url": "string",
"error": {
"code": "string",
"message": "string"
}
}
}
},
"description": "string"
}
Description for Video Model
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | VideoTypes | true | none | none |
url | string | true | none | Address of the embedded video |
cover | Picture | false | none | Description for Picture Model |
description | Content | false | none | none |
VideoCreateRequest
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | VideoTypes | true | none | none |
url | string | true | none | Address of the embedded video |
cover | string | false | none | URL pointing to the image to import, or a base64 string representing the image data |
description | Content | false | none | none |
VideoTypes
"youtube"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | youtube |
anonymous | vimeo |
anonymous | other |
VideoUpdateRequest
{
"type": "youtube",
"url": "string",
"cover": "string",
"description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | VideoTypes | true | none | none |
url | string | true | none | Address of the embedded video |
cover | string | false | none | URL pointing to the image to import, or a base64 string representing the image data |
description | Content | false | none | none |