Skip to main content

Organizer API (1.0)

Download OpenAPI specification:Download

0. Authentication

AuthenticationController signIn

Request Body schema: application/json
email
required
string <= 320 characters
password
required
string [ 16 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "email": "jan@kowalski.com",
  • "password": "&Y+sFaS{&d>8ycO)FLhF41qiQk{IYEb?"
}

Response samples

Content type
application/json
{
  • "token": "organizer:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjIsImlhdCI6MTY3MzEyMDcwNCwibmJmIjoxNjczMTIwNzA0LCJleHAiOjE2NzMyMDcxMDQsImF1ZCI6WyJlc21lLmNvbSJdLCJpc3MiOiJlc21lLmNvbSJ9.o1UpdD7RUtI5nUPlIg9db4SK8CJwTrHpL8fKpvVhbGM",
  • "user": {
    }
}

AuthenticationController signOut

Responses

0. Profile

ProfileController getProfile

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

ProfileController updateProfile

Request Body schema: application/json
firstName
string <= 100 characters
lastName
string <= 100 characters
phoneNumber
string <= 30 characters

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

ProfileController changePassword

Request Body schema: application/json
oldPassword
required
string [ 16 .. 128 ] characters
newPassword
required
string [ 16 .. 128 ] characters
confirmNewPassword
required
string

Responses

Request samples

Content type
application/json
{
  • "oldPassword": "&Y+sFaS{&d>8ycO)FLhF41qiQk{IYEb?",
  • "newPassword": "ZY[UPU,NBC<y2f8COStQr*b#@GwhnwGH",
  • "confirmNewPassword": "ZY[UPU,NBC<y2f8COStQr*b#@GwhnwGH"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

ProfileController setAgency

Request Body schema: application/json
agencyId
number

Responses

Request samples

Content type
application/json
{
  • "agencyId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

1. Admin: agencies

AdminAgenciesController findAll

Responses

Response samples

Content type
application/json
[
  • {}
]

AdminAgenciesController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{}

AdminAgenciesController verify

path Parameters
id
required
number
Request Body schema: application/json
approved
required
boolean

Responses

Request samples

Content type
application/json
{
  • "approved": false
}

Response samples

Content type
application/json
{}

1. Admin: changelogs

AdminChangelogsController findAll

query Parameters
userId
number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

AdminChangelogsController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "entityId": 1,
  • "entityClass": "agency",
  • "type": "update",
  • "changedAt": "2022-11-26T18:47:02.541Z",
  • "valueAfter": "{\"id\":1,\"name\":\"Live Concert Agency\",\"address\":\"Concert Street 1, Warsaw 01-234, Poland\",\"website\":\"https://live-concert-agency.com\",\"approved\":true}",
  • "userId": 1,
  • "agencyId": null
}

1. Admin: users

AdminUsersController getAdminRoles

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

AdminUsersController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

AdminUsersController update

path Parameters
id
required
number
Request Body schema: application/json
firstName
string <= 100 characters
lastName
string <= 100 characters
phoneNumber
string <= 30 characters

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

AdminUsersController remove

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

AdminUsersController findAll

Responses

Response samples

Content type
application/json
[
  • {
    }
]

AdminUsersController create

Request Body schema: application/json
email
required
string <= 320 characters
password
required
string [ 16 .. 128 ] characters
confirmPassword
required
string
firstName
required
string <= 100 characters
lastName
required
string <= 100 characters
phoneNumber
required
string <= 30 characters
role
required
number
Enum: 0 1 2 3 4

Responses

Request samples

Content type
application/json
{
  • "email": "jan@kowalski.com",
  • "password": "&Y+sFaS{&d>8ycO)FLhF41qiQk{IYEb?",
  • "confirmPassword": "&Y+sFaS{&d>8ycO)FLhF41qiQk{IYEb?",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "role": 2
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

2. Organizer: agency

AgencyController register

Request Body schema: application/json
required
object (CreateAgencyDto)
required
object (CreateOwnerDto)

Responses

Request samples

Content type
application/json
{
  • "agency": {},
  • "owner": {
    }
}

Response samples

Content type
application/json
{}

AgencyController get

Responses

Response samples

Content type
application/json
{}

AgencyController update

Request Body schema: application/json
name
required
string <= 200 characters
address
required
string <= 400 characters
website
required
string <= 400 characters

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

AgencyController remove

Responses

Response samples

Content type
application/json
{}

2. Organizer: changelogs

ChangelogsController findAll

query Parameters
userId
number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ChangelogsController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "entityId": 1,
  • "entityClass": "agency",
  • "type": "update",
  • "changedAt": "2022-11-26T18:47:02.541Z",
  • "valueAfter": "{\"id\":1,\"name\":\"Live Concert Agency\",\"address\":\"Concert Street 1, Warsaw 01-234, Poland\",\"website\":\"https://live-concert-agency.com\",\"approved\":true}",
  • "userId": 1,
  • "agencyId": null
}

2. Organizer: comments

CommentsController create

Request Body schema: application/json
content
required
string <= 2000 characters
issueId
required
number

Responses

Request samples

Content type
application/json
{
  • "content": "The ambulance is on the way.",
  • "issueId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "content": "The ambulance is on the way.",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "issueId": 1,
  • "agencyId": 1
}

CommentsController findAll

query Parameters
issueId
number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

CommentsController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "content": "The ambulance is on the way.",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "issueId": 1,
  • "agencyId": 1
}

CommentsController update

path Parameters
id
required
number
Request Body schema: application/json
content
required
string <= 2000 characters

Responses

Request samples

Content type
application/json
{
  • "content": "The ambulance is on the way."
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "content": "The ambulance is on the way.",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "issueId": 1,
  • "agencyId": 1
}

CommentsController remove

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "content": "The ambulance is on the way.",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "issueId": 1,
  • "agencyId": 1
}

2. Organizer: contacts

ContactsController create

Request Body schema: application/json
firstName
required
string <= 100 characters
lastName
required
string <= 100 characters
email
required
string <= 320 characters
phoneNumber
required
string <= 30 characters
additionalNotes
required
string <= 2000 characters
eventId
required
number

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "email": "jan@kowalski.com",
  • "phoneNumber": "+48123456789",
  • "additionalNotes": "Available 24/7",
  • "eventId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "email": "jan@kowalski.com",
  • "phoneNumber": "+48123456789",
  • "additionalNotes": "Available 24/7",
  • "eventId": 1,
  • "agencyId": 1
}

ContactsController findAll

query Parameters
eventId
number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ContactsController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "email": "jan@kowalski.com",
  • "phoneNumber": "+48123456789",
  • "additionalNotes": "Available 24/7",
  • "eventId": 1,
  • "agencyId": 1
}

ContactsController update

path Parameters
id
required
number
Request Body schema: application/json
firstName
required
string <= 100 characters
lastName
required
string <= 100 characters
email
required
string <= 320 characters
phoneNumber
required
string <= 30 characters
additionalNotes
required
string <= 2000 characters

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "email": "jan@kowalski.com",
  • "phoneNumber": "+48123456789",
  • "additionalNotes": "Available 24/7"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "email": "jan@kowalski.com",
  • "phoneNumber": "+48123456789",
  • "additionalNotes": "Available 24/7",
  • "eventId": 1,
  • "agencyId": 1
}

ContactsController remove

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "email": "jan@kowalski.com",
  • "phoneNumber": "+48123456789",
  • "additionalNotes": "Available 24/7",
  • "eventId": 1,
  • "agencyId": 1
}

2. Organizer: events

EventsController create

Request Body schema: application/json
name
required
string <= 200 characters
description
required
string <= 2000 characters
address
required
string <= 400 characters
lat
required
number
lng
required
number
timeStart
required
string
timeEnd
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z",
  • "agencyId": 1
}

EventsController findAll

Responses

Response samples

Content type
application/json
[
  • {
    }
]

EventsController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z",
  • "agencyId": 1
}

EventsController update

path Parameters
id
required
number
Request Body schema: application/json
name
required
string <= 200 characters
description
required
string <= 2000 characters
address
required
string <= 400 characters
lat
required
number
lng
required
number
timeStart
required
string
timeEnd
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z",
  • "agencyId": 1
}

EventsController remove

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z",
  • "agencyId": 1
}

2. Organizer: issues

IssuesController create

Request Body schema: application/json
name
required
string <= 200 characters
description
required
string <= 20000 characters
priority
required
string
Enum: "low" "medium" "high"
eventId
required
number

Responses

Request samples

Content type
application/json
{
  • "name": "Broken leg",
  • "description": "Somebody has broken his leg.",
  • "priority": "medium",
  • "eventId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Broken leg",
  • "description": "Somebody has broken his leg.",
  • "status": "to_do",
  • "priority": "medium",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeClosed": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "eventId": 1,
  • "agencyId": 1
}

IssuesController findAll

query Parameters
eventId
number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

IssuesController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Broken leg",
  • "description": "Somebody has broken his leg.",
  • "status": "to_do",
  • "priority": "medium",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeClosed": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "eventId": 1,
  • "agencyId": 1
}

IssuesController update

path Parameters
id
required
number
Request Body schema: application/json
name
required
string <= 200 characters
description
required
string <= 20000 characters
status
required
string
Enum: "to_do" "in_progress" "resolved" "cancelled"
priority
required
string
Enum: "low" "medium" "high"

Responses

Request samples

Content type
application/json
{
  • "name": "Broken leg",
  • "description": "Somebody has broken his leg.",
  • "status": "to_do",
  • "priority": "medium"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Broken leg",
  • "description": "Somebody has broken his leg.",
  • "status": "to_do",
  • "priority": "medium",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeClosed": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "eventId": 1,
  • "agencyId": 1
}

IssuesController remove

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Broken leg",
  • "description": "Somebody has broken his leg.",
  • "status": "to_do",
  • "priority": "medium",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeClosed": "2022-11-26T18:47:02.541Z",
  • "authorId": 1,
  • "eventId": 1,
  • "agencyId": 1
}

2. Organizer: users

UsersController getAgencyRoles

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

UsersController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

UsersController update

path Parameters
id
required
number
Request Body schema: application/json
firstName
string <= 100 characters
lastName
string <= 100 characters
phoneNumber
string <= 30 characters
role
number
Enum: 0 1 2 3 4

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "role": 2
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

UsersController remove

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

UsersController findAll

Responses

Response samples

Content type
application/json
[
  • {
    }
]

UsersController create

Request Body schema: application/json
email
required
string <= 320 characters
password
required
string [ 16 .. 128 ] characters
confirmPassword
required
string
firstName
required
string <= 100 characters
lastName
required
string <= 100 characters
phoneNumber
required
string <= 30 characters
role
required
number
Enum: 0 1 2 3 4

Responses

Request samples

Content type
application/json
{
  • "email": "jan@kowalski.com",
  • "password": "&Y+sFaS{&d>8ycO)FLhF41qiQk{IYEb?",
  • "confirmPassword": "&Y+sFaS{&d>8ycO)FLhF41qiQk{IYEb?",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "role": 2
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "email": "jan@kowalski.com",
  • "firstName": "Jan",
  • "lastName": "Kowalski",
  • "phoneNumber": "+48123456789",
  • "timeCreated": "2022-11-26T18:47:02.541Z",
  • "timeSignOut": "2022-11-26T18:47:02.541Z",
  • "role": 2,
  • "agencyId": 1
}

3. Internal: events

ApiEventsController findAll

query Parameters
query
string
Example: query=Rap Concert
from
string
Example: from=2022-11-26T18:47:02.541Z
to
string
Example: to=2022-11-27T18:47:02.541Z

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ApiEventsController findOne

path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Rap Concert",
  • "description": "Annual music event",
  • "address": "Concert Street 1, Warsaw 01-234, Poland",
  • "lat": 52.2348373,
  • "lng": 20.9840948,
  • "timeStart": "2022-11-26T18:47:02.541Z",
  • "timeEnd": "2022-11-27T18:47:02.541Z",
  • "agencyId": 1
}