VOTO - VOTE ADVICE APPLICATION API (0.0.1)

Download OpenAPI specification:Download

API Support: help@voto.vote URL: https://voto.vote/ License: MIT

Defines a common interface for vote advice applications

To secure the API, we use different roles within our system. The following table shows the permissions of each role for each entity. It does not reflect reality perfectly. Creator can obviously only create candidates for its own application etc, but the table should give you an idea of how the roles work.
Admin Creator TrustPerson Candidate Anonymous
Election CRUD R R R R
Candidate CRUD CRUD CRUD RU R
CandidateVotes CRUD CRUD CRUD RU R
Party CRUD CRUD RU R R
PartyVotes CRUD CRUD RU R R
Application CRUD CRUD R R R
Theses CRUD CRUD R R R
Votings R CR CRU CRU CR
Trustperson CRUD CRUD CRUD R -
Creator CRUD CRUD R R -
Admins CRUD R - - -
Users CRUD CR CR RUD -

C = Create
R = Read
U = Update
D = Delete

Authentication

firebase

We currently use Firebase as Authentication Provider. In order to use parts of the API, you have to have a valid account and role. Retrieve this idToken here https://firebase.google.com/docs/reference/rest/auth#section-sign-in-email-password

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Election

Objects related to elections

Fetches array of Elections

Fetching elections is allowed for the creator and admin role.

Authorizations:
query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=Bundestagswahl

Search for election name

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create Election object

Creating elections is allowed for the admin role.

Authorizations:
Request Body schema: application/json
election_date
string <date>
location
string
name
string

Responses

Request samples

Content type
application/json
{
  • "election_date": "2021-09-26",
  • "location": "Deutschland",
  • "name": "Bundestagswahl"
}

Response samples

Content type
application/json
{
  • "election_date": "2021-09-26",
  • "location": "Deutschland",
  • "name": "Bundestagswahl",
  • "status": 0,
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get single Election

Fetching one single election by its ID is allowed for everyone.

path Parameters
electionId
required
integer <int64>

Numeric ID of the election to get

Responses

Response samples

Content type
application/json
{
  • "election_date": "2021-09-26",
  • "location": "Deutschland",
  • "name": "Bundestagswahl",
  • "status": 0,
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Update Election object

Updating one single election by its ID is allowed for the admin role.

Authorizations:
path Parameters
electionId
required
integer <int64>

Numeric ID of the election to put

Request Body schema: application/json
election_date
string <date>
location
string
name
string

Responses

Request samples

Content type
application/json
{
  • "election_date": "2021-09-26",
  • "location": "Deutschland",
  • "name": "Bundestagswahl"
}

Response samples

Content type
application/json
{
  • "election_date": "2021-09-26",
  • "location": "Deutschland",
  • "name": "Bundestagswahl",
  • "status": 0,
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Delete Election object

Deleting one single election by its ID is allowed for the admin role.

Authorizations:
path Parameters
electionId
required
integer <int64>

Numeric ID of the election to delete

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Fetches array of applications for one specific instance

Fetching applications is for one specific election is only allowed for the admin role.

Authorizations:
path Parameters
electionId
required
integer
Example: 1

Defines the election

query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=Bundestagswahl

Search for application title

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Fetches array of timeline entries

Authorizations:

Responses

Response samples

Content type
application/json
[]

VAA

Objects related to Vote advice applications

Fetches array of VAA's

Fetching applications is allowed for admin

Authorizations:
query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=VOTO

Search for application title

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create VAA object

Creating applications is allowed for admin

Authorizations:
Request Body schema: application/json
election_id
required
integer
cluster_id
required
integer
theme_id
integer
title
required
string
subtitle
string
description
string
website
string
url
string
launch_date
string <date-time>
sundown_date
string <date-time>
configuration
string

This is the url, where you find your individual configuration for the VOTO VAA

Responses

Request samples

Content type
application/json
{
  • "election_id": 123,
  • "cluster_id": 456,
  • "theme_id": 789,
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "website": "https://voto.vote",
  • "launch_date": "2021-10-05T06:00:00.000Z",
  • "sundown_date": "2021-10-05T06:00:00.000Z",
}

Response samples

Content type
application/json
{
  • "election_id": 123,
  • "cluster_id": 456,
  • "theme_id": 789,
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "website": "https://voto.vote",
  • "launch_date": "2021-10-05T06:00:00.000Z",
  • "sundown_date": "2021-10-05T06:00:00.000Z",
  • "configuration": "https://voto.vote/foo_bar.json",
  • "id": 123,
  • "status": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Fetches array of clusters

Fetching clusters is allowed for admin

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Cluster object

Creating clusters is allowed for admin

Authorizations:
Request Body schema: application/json
title
required
string
subtitle
string
description
string
url
string

Responses

Request samples

Content type
application/json
{
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
}

Response samples

Content type
application/json
{
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Fetches single cluster

Fetching one cluster is allowed for everyone

path Parameters
clusterId
required
integer <int64>

Numeric ID of the Cluster

Responses

Response samples

Content type
application/json
{
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Update Cluster object

Updating one cluster is allowed for admin and creator (for its own applications)

Authorizations:
path Parameters
clusterId
required
integer <int64>

Numeric ID of the Cluster

Request Body schema: application/json
title
required
string
subtitle
string
description
string
url
string

Responses

Request samples

Content type
application/json
{
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
}

Response samples

Content type
application/json
{
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Remove Cluster object

Updating one cluster is allowed for admins

Authorizations:
path Parameters
clusterId
required
integer <int64>

Numeric ID of the Cluster

Request Body schema: application/json
title
required
string
subtitle
string
description
string
url
string

Responses

Request samples

Content type
application/json
{
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Fetches single VAA

Fetching one application is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "election_id": 123,
  • "cluster_id": 456,
  • "theme_id": 789,
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "website": "https://voto.vote",
  • "launch_date": "2021-10-05T06:00:00.000Z",
  • "sundown_date": "2021-10-05T06:00:00.000Z",
  • "configuration": "https://voto.vote/foo_bar.json",
  • "id": 123,
  • "status": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Update VAA object

Updating one application is allowed for admin and creator (for its own applications)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: application/json
election_id
required
integer
cluster_id
required
integer
theme_id
integer
title
required
string
subtitle
string
description
string
website
string
url
string
launch_date
string <date-time>
sundown_date
string <date-time>
configuration
string

This is the url, where you find your individual configuration for the VOTO VAA

Responses

Request samples

Content type
application/json
{
  • "election_id": 123,
  • "cluster_id": 456,
  • "theme_id": 789,
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "website": "https://voto.vote",
  • "launch_date": "2021-10-05T06:00:00.000Z",
  • "sundown_date": "2021-10-05T06:00:00.000Z",
}

Response samples

Content type
application/json
{
  • "election_id": 123,
  • "cluster_id": 456,
  • "theme_id": 789,
  • "title": "Example Title",
  • "subtitle": "Example Subtitle",
  • "description": "Lorem ipsum dolor sed amet.",
  • "website": "https://voto.vote",
  • "launch_date": "2021-10-05T06:00:00.000Z",
  • "sundown_date": "2021-10-05T06:00:00.000Z",
  • "configuration": "https://voto.vote/foo_bar.json",
  • "id": 123,
  • "status": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Delete VAA object

Deleting one application is allowed for admin and creator (for its own applications)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Fetches the configuration of the application

Fetching one applications config is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "introduction": {
    },
  • "sponsors": [
    ],
  • "cluster": {
    },
  • "ads": {
    }
}

Update the configuration of the application

Fetching one applications config is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: multipart/form-data
configuration
string <binary>

Responses

Response samples

Content type
application/json
{
  • "introduction": {
    },
  • "sponsors": [
    ],
  • "cluster": {
    },
  • "ads": {
    }
}

Upload image to configuration of the application

Upload one applications config is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Delete an image of the configuration of the application

Deleting one applications config images is allowed for admins and creator of this application

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: multipart/form-data
name
string

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Fetches all theses for one VAA regardless of the language

Fetching one applications theses is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Fetches all available languages for theses for one VAA regardless of the language

Fetching all available languages of theses is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
[
  • "de"
]

Fetches all theses for one VAA

Fetching one applications theses is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

language
required
string
Default: ""
Example: de

Language identification string, e.g. 'de'

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add these

Adding application theses is allowed for admin and creator (for its own applications)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

language
required
string
Default: ""
Example: de

Language identification string, e.g. 'de'

Request Body schema: application/json
title
string
text
string <text>

Responses

Request samples

Content type
application/json
{
  • "title": "Lorem ipsum...",
  • "text": "Lorem ipsum dolor sed amet"
}

Response samples

Content type
application/json
{
  • "title": "Lorem ipsum dolor sed amet",
  • "text": "Lorem ipsum dolor sed amet",
  • "statement_id": 123,
  • "translation_id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Fetches single these of one VAA

Fetching one applications these is allowed for everyone

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

language
required
string
Default: ""
Example: de

Language identification string, e.g. 'de'

theseId
required
integer <int64>
Example: 123

Numeric ID of the these

Responses

Response samples

Content type
application/json
{
  • "title": "Lorem ipsum dolor sed amet",
  • "text": "Lorem ipsum dolor sed amet",
  • "statement_id": 123,
  • "translation_id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Update single these

Updating application theses is allowed for admin and creator (for its own applications)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

language
required
string
Default: ""
Example: de

Language identification string, e.g. 'de'

theseId
required
integer <int64>

Numeric ID of the these

Request Body schema: application/json
title
string
text
string <text>

Responses

Request samples

Content type
application/json
{
  • "title": "Lorem ipsum...",
  • "text": "Lorem ipsum dolor sed amet"
}

Response samples

Content type
application/json
{
  • "title": "Lorem ipsum dolor sed amet",
  • "text": "Lorem ipsum dolor sed amet",
  • "statement_id": 123,
  • "translation_id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Add translation for specific these

Adding translation for specific these is allowed for admin and creator (for its own applications)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

language
required
string
Default: ""
Example: de

Language identification string, e.g. 'de'

theseId
required
integer <int64>

Numeric ID of the these - not the translation, but the statementID !

Request Body schema: application/json
statement_id
integer <int64>

identifies the statement id

title
string
text
string <text>

Responses

Request samples

Content type
application/json
{
  • "statement_id": 123,
  • "title": "Lorem ipsum...",
  • "text": "Lorem ipsum dolor sed amet"
}

Response samples

Content type
application/json
{
  • "title": "Lorem ipsum dolor sed amet",
  • "text": "Lorem ipsum dolor sed amet",
  • "statement_id": 123,
  • "translation_id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Delete specific these of application

Deleting a specific these for one application is allowed for admin, creator (within his application)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

language
required
integer <int64>

Language identification string, e.g. 'de'

theseId
required
integer <int64>

Numeric ID of the these

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Create new custom event for application

Create new custom event for application

Authorizations:
Request Body schema: application/json
Array ()
integer

Responses

Request samples

Content type
application/json
[
  • 0
]

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

API

About this API

Get info about this API

query Parameters
version
string
Example: version=v1

Version of API

Responses

Vote

Endpoints for everything vote related

Submit a new voting for an VAA

Creation of votings is allowed for everyone. Please note, that we still prevent CORS requests.

Request Body schema: application/json
Array of objects

Responses

Request samples

Content type
application/json
{
  • "votes": [
    ]
}

Response samples

Content type
application/json
{
  • "votes": [
    ],
  • "id": 123,
  • "application_id": 456,
  • "matches": [
    ],
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Roles

Management endpoints for roles within the VOTO platform. Please note, that candidates are handled in /elections endpoints as they are the only entity which is directly related to a match, whereas a party can have multiple TrustPersons

Get admins

Fetching admins is allowed for admins

query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=admins mail

Search for admins email

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create new admin

Creation of admins is allowed for admins

Request Body schema: application/json
user_id
integer <int64>

user_id which should be promoted to an admin

Responses

Request samples

Content type
application/json
{
  • "user_id": 123
}

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "id": 123,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get Admin by ID

Fetching admins is allowed for admins

path Parameters
adminId
required
integer <int64>

Numeric ID of the admin

Responses

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "id": 123,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Remove admin

Remove admin is allowed for admin

path Parameters
adminId
required
integer <int64>

Numeric ID of the admin

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Create new user

Creation of users is allowed for admins, creators, and trustpersons

Request Body schema: application/json
title
string
first_name
required
string
last_name
required
string
gender_id
required
integer <int64>
email
required
string <email>
birthday
string <date>
phone
integer
address1
string
address2
string
job
string
zipcode
integer
city
string
status
integer <int64>

Status of user

Responses

Request samples

Content type
application/json
{
  • "title": "Dr.",
  • "first_name": "John",
  • "last_name": "Doe",
  • "gender_id": 123,
  • "email": "john@doe.com",
  • "birthday": "1993-12-27",
  • "phone": 1234567890,
  • "address1": "Johnstreet 42",
  • "address2": "2nd floor",
  • "job": "CEO",
  • "zipcode": 12345,
  • "city": "Stuttgart",
  • "status": 1
}

Response samples

Content type
application/json
{
  • "title": "Dr.",
  • "first_name": "John",
  • "last_name": "Doe",
  • "gender_id": 123,
  • "email": "john@doe.com",
  • "birthday": "1993-12-27",
  • "phone": 1234567890,
  • "address1": "Johnstreet 42",
  • "address2": "2nd floor",
  • "job": "CEO",
  • "zipcode": 12345,
  • "city": "Stuttgart",
  • "status": 1,
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get User by ID

Fetching users is allowed for admins

path Parameters
userId
required
integer <int64>

Numeric ID of the user

Responses

Response samples

Content type
application/json
{
  • "title": "Dr.",
  • "first_name": "John",
  • "last_name": "Doe",
  • "gender_id": 123,
  • "email": "john@doe.com",
  • "birthday": "1993-12-27",
  • "phone": 1234567890,
  • "address1": "Johnstreet 42",
  • "address2": "2nd floor",
  • "job": "CEO",
  • "zipcode": 12345,
  • "city": "Stuttgart",
  • "status": 1,
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Update user

Updating user is allowed for admins and the user itself.

path Parameters
userId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: application/json
title
string
first_name
required
string
last_name
required
string
gender_id
required
integer <int64>
email
required
string <email>
birthday
string <date>
phone
integer
address1
string
address2
string
job
string
zipcode
integer
city
string
status
integer <int64>

Status of user

Responses

Request samples

Content type
application/json
{
  • "title": "Dr.",
  • "first_name": "John",
  • "last_name": "Doe",
  • "gender_id": 123,
  • "email": "john@doe.com",
  • "birthday": "1993-12-27",
  • "phone": 1234567890,
  • "address1": "Johnstreet 42",
  • "address2": "2nd floor",
  • "job": "CEO",
  • "zipcode": 12345,
  • "city": "Stuttgart",
  • "status": 1
}

Response samples

Content type
application/json
{
  • "title": "Dr.",
  • "first_name": "John",
  • "last_name": "Doe",
  • "gender_id": 123,
  • "email": "john@doe.com",
  • "birthday": "1993-12-27",
  • "phone": 1234567890,
  • "address1": "Johnstreet 42",
  • "address2": "2nd floor",
  • "job": "CEO",
  • "zipcode": 12345,
  • "city": "Stuttgart",
  • "status": 1,
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Change user password or mail

Change user password or mail

path Parameters
userId
required
integer <int64>

Numeric ID of the user

Request Body schema: application/json
action
required
string
Enum: "email" "password"
value
required
string

The value for either the new password or the new mail

Responses

Request samples

Content type
application/json
{
  • "action": "email",
  • "value": "newmail@voto.vote"
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Remove user

Remove user is allowed for admin

path Parameters
userId
required
integer <int64>

Numeric ID of the user

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Invite user

Inviting users is allowed for admins, creator and trustpersons

Request Body schema: application/json
mail
required
string

Responses

Request samples

Content type
application/json
{
  • "mail": "foo@bar.com"
}

Response samples

Content type
application/json
{
  • "UserId": 1,
  • "New": true
}

Get your user profile

Fetching yourself is allowed for everyone for their account

Responses

Response samples

Content type
application/json
{
  • "User": {
    },
  • "Creator": {
    },
  • "TrustPerson": {
    },
  • "Candidate": {
    },
  • "Candidates": [
    ],
  • "TrustPersons": [
    ]
}

Get creator for VAA

Fetching creator is allowed for admins and creator.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=creators mail

Search for creators email

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create new creator for VAA

Creation of creator is allowed for admins and creator.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: application/json
user_id
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "user_id": 123
}

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "id": 123,
  • "application_id": 456,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get creator by ID for VAA

Fetching creator is allowed for admins and creator.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

creatorId
required
integer <int64>

Numeric ID of the creator

Responses

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "id": 123,
  • "application_id": 456,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Toggle creator status

Toggle creator is allowed for admins

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

creatorId
required
integer <int64>

Numeric ID of the creator

Request Body schema: application/json
status
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "status": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Remove creator for VAA

Remove creator is allowed for admins and creator (for its own application).

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

creatorId
required
integer <int64>

Numeric ID of the creator

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Get trustpersons for VAA

Fetching trustpersons is allowed for admins and creator as well as for trustpersons for their own party.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=trustpersons mail

Search for trustpersons email

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create new trustperson for VAA

Creation of trustperson is allowed for admins and creator as well as for trustpersons for their own party.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: application/json
user_id
integer <int64>
party_id
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "user_id": 123,
  • "party_id": 456
}

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "party_id": 456,
  • "id": 123,
  • "application_id": 456,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "party_name": "VOP",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get trustperson by ID for VAA

Fetching trustperson by id is allowed for admins and creator.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

trustPersonId
required
integer <int64>

Numeric ID of the trustperson

Responses

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "party_id": 456,
  • "id": 123,
  • "application_id": 456,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "party_name": "VOP",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Toggle trustperson status

Toggle trustpersons is allowed for admins and creators ( their own application )

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

trustPersonId
required
integer <int64>

Numeric ID of the trustperson

Request Body schema: application/json
status
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "status": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Remove TrustPerson for VAA

Remove TrustPerson is allowed for admins and creator (for its own application).

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

trustPersonId
required
integer <int64>

Numeric ID of the trustperson

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Get trustperson by ID for VAA and party

Fetching trustperson by id and party is allowed for admins and creator as well as the trustpersons for this party

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

trustPersonId
required
integer <int64>

Numeric ID of the trustperson

partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
{
  • "user_id": 123,
  • "party_id": 456,
  • "id": 123,
  • "application_id": 456,
  • "firstName": "John",
  • "lastName": "Doe",
  • "contact": "john@doe.com",
  • "party_name": "VOP",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Toggle trustperson status

Toggle trustpersons is allowed for admins and creators ( their own application ) and trustpersons ( their own party )

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

trustPersonId
required
integer <int64>

Numeric ID of the trustperson

partyId
required
integer <int64>

Numeric ID of the party

Request Body schema: application/json
status
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "status": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Remove TrustPerson for VAA

Remove TrustPerson is allowed for admins and creator (for its own application) and for trustpersons ( for its own party ).

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

trustPersonId
required
integer <int64>

Numeric ID of the trustperson

partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

VAA/Matches

Get candidates for application

Fetching candidates for one single application by its ID is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=Mustermann

Search for candidate last name

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create new candidate for application

Creation of candidates is allowed for admin, creator (only in his application) and trustperson (only for his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

Request Body schema: application/json
party_id
required
integer
user_id
required
integer
description
string
district
string
list_place
integer
website
string

Responses

Request samples

Content type
application/json
{
  • "party_id": 123,
  • "user_id": 456,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get single candidate

Fetching a candidate for one application is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

candidateId
required
integer <int64>

Numeric ID of the candidate to get

Responses

Response samples

Content type
application/json
{
  • "party_id": 123,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote",
  • "id": 123,
  • "application_id": 789,
  • "title": "Dr.",
  • "firstName": "John",
  • "lastName": "Doe",
  • "age": 456,
  • "party_name": "VOP",
  • "profile_picture": "https://",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z",
  • "public": false
}

Change candidate for application

Changing a candidate for one application is allowed for admin, creator (within his application), trustperson (within his party) and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

Request Body schema: application/json
party_id
required
integer
user_id
required
integer
description
string
district
string
list_place
integer
website
string

Responses

Request samples

Content type
application/json
{
  • "party_id": 123,
  • "user_id": 456,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote"
}

Response samples

Content type
application/json
[
  • {
    }
]

Toggle candidate status

Toggle candidates is allowed for admins, creators ( their own application ) and trustpersons ( their own party )

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

candidateId
required
integer <int64>

Numeric ID of the candidate

Request Body schema: application/json
status
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "status": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Delete candidate object

Deleting a candidate for one application is allowed for admin, creator (within his application), trustperson (within his party) and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

candidateId
required
integer <int64>

Numeric ID of the candidate to delete

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Change candidates light profile picture

Changing a candidates light profile picture for one application is allowed for admin, creator (within his application), trustperson (within his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

partyId
required
integer <int64>

Numeric ID of the party to put

Request Body schema: multipart/form-data
candidateId
integer
image
string <binary>

Responses

Response samples

Content type
application/json
{
  • "gender_id": 123,
  • "party_id": 123,
  • "firstName": "Max",
  • "lastName": "Mustermann",
  • "id": 123,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Change candidates profile picture

Changing a candidates profile picture for one application is allowed for admin, creator (within his application), trustperson (within his party) and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

partyId
required
integer <int64>

Numeric ID of the party to put

Request Body schema: multipart/form-data
candidateId
integer
image
string <binary>

Responses

Response samples

Content type
application/json
{
  • "party_id": 123,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote",
  • "id": 123,
  • "application_id": 789,
  • "title": "Dr.",
  • "firstName": "John",
  • "lastName": "Doe",
  • "age": 456,
  • "party_name": "VOP",
  • "profile_picture": "https://",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z",
  • "public": false
}

Change candidates profile picture

Changing a candidates profile picture for one application is allowed for admin, creator (within his application), trustperson (within his party) and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

Request Body schema: multipart/form-data
candidateId
integer
image
string <binary>

Responses

Response samples

Content type
application/json
{
  • "party_id": 123,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote",
  • "id": 123,
  • "application_id": 789,
  • "title": "Dr.",
  • "firstName": "John",
  • "lastName": "Doe",
  • "age": 456,
  • "party_name": "VOP",
  • "profile_picture": "https://",
  • "status": 1,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z",
  • "public": false
}

Get votes of a candidate

Fetching a candidates votes for one application is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

candidateId
required
integer <int64>

Numeric ID of the candidate to get

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change candidate votes for application

Changing a candidates votes for one application is allowed for admin and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

Request Body schema: application/json
statement_id
integer <int64>
application_id
integer <int64>
value
integer
weight
integer
explanation
string

Responses

Request samples

Content type
application/json
{
  • "statement_id": 123,
  • "application_id": 456,
  • "value": 75,
  • "weight": 1,
  • "explanation": "Lorem ipsum"
}

Response samples

Content type
application/json
{
  • "statement_id": 123,
  • "application_id": 456,
  • "value": 75,
  • "weight": 1,
  • "explanation": "Lorem ipsum",
  • "id": 123,
  • "candidate_id": 456,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get parties for application

Fetching parties for one application is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

query Parameters
limit
integer
Default: 20
Example: limit=20

Limits the amount of items in the responsing array. Max results is 100.

page
integer
Default: 1
Example: page=5

Sets the page offset

search
string
Default: ""
Example: search=party detailed name

Search for party detailed name

sort
string
Default: "name|asc"
Example: sort=location|desc

Sort either ascending or descending all retrieving objects. Always like {attribute}|{sortingOrder} where sortingOrder can be either asc or desc

Responses

Response samples

Content type
application/json
{}

Create new party for application

Creating parties for one application is allowed for admin and creator (for its own application)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

Request Body schema: application/json
application_id
required
integer
parent_party_id
integer
shortcut
required
string
name
required
string
description
string
website
string

Responses

Request samples

Content type
application/json
{
  • "application_id": 123,
  • "parent_party_id": 456,
  • "shortcut": "ABC",
  • "name": "Party name",
  • "description": "Example party description",
  • "website": "https://voto.vote"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get single party

Fetching one party for one application by its ID is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
{
  • "application_id": 123,
  • "parent_party_id": 456,
  • "shortcut": "ABC",
  • "name": "Party name",
  • "description": "Example party description",
  • "website": "https://voto.vote",
  • "id": 123,
  • "status": 1,
  • "public": false,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Change party for application

Changing a party for one application is allowed for admin, creator and the trustperson for its own party.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

partyId
required
integer <int64>

Numeric ID of the party

Request Body schema: application/json
application_id
required
integer
parent_party_id
integer
shortcut
required
string
name
required
string
description
string
website
string

Responses

Request samples

Content type
application/json
{
  • "application_id": 123,
  • "parent_party_id": 456,
  • "shortcut": "ABC",
  • "name": "Party name",
  • "description": "Example party description",
  • "website": "https://voto.vote"
}

Response samples

Content type
application/json
[
  • {
    }
]

Toggle party status

Toggle party is allowed for admins and creators ( their own application )

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

partyId
required
integer <int64>

Numeric ID of the party

Request Body schema: application/json
status
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "status": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Delete party object

Deleting a party for one application is allowed for admin, creator and trustperson for its own party.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Change party profile picture

Changing a party logo for one application is allowed for admin, creator (within his application), trustperson (within his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

partyId
required
integer <int64>

Numeric ID of the party to put

Request Body schema: multipart/form-data
partyId
integer
image
string <binary>

Responses

Response samples

Content type
application/json
{
  • "application_id": 123,
  • "parent_party_id": 456,
  • "shortcut": "ABC",
  • "name": "Party name",
  • "description": "Example party description",
  • "website": "https://voto.vote",
  • "id": 123,
  • "status": 1,
  • "public": false,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Get candidates for party

Fetching candidates for one party within one application by its ID is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new candidate for application

Creation of candidates is allowed for admin, creator (only in his application) and trustperson (only for his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

partyId
required
integer <int64>

Numeric ID of the party

Request Body schema: application/json
party_id
required
integer
user_id
required
integer
description
string
district
string
list_place
integer
website
string

Responses

Request samples

Content type
application/json
{
  • "party_id": 123,
  • "user_id": 456,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote"
}

Response samples

Content type
application/json
[
  • {
    }
]

Change candidate for application and party

Changing a candidate for one application is allowed for admin, creator (within his application), trustperson (within his party) and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

partyId
required
integer <int64>

Numeric ID of the party to put

Request Body schema: application/json
party_id
required
integer
user_id
required
integer
description
string
district
string
list_place
integer
website
string

Responses

Request samples

Content type
application/json
{
  • "party_id": 123,
  • "user_id": 456,
  • "description": "Example Title",
  • "district": "Example District",
  • "list_place": 1,
  • "website": "https://voto.vote"
}

Response samples

Content type
application/json
[
  • {
    }
]

Toggle candidate status

Toggle candidates is allowed for admins, creators ( their own application ) and trustpersons ( their own party )

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

candidateId
required
integer <int64>

Numeric ID of the candidate

partyId
required
integer <int64>

Numeric ID of the party to put

Request Body schema: application/json
status
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "status": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Delete candidate object

Deleting a candidate for one application is allowed for admin, creator (within his application), trustperson (within his party) and one candidate for itself.

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

candidateId
required
integer <int64>

Numeric ID of the candidate to delete

partyId
required
integer <int64>

Numeric ID of the party to put

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Get candidates light for party

Fetching candidates light for one party within one application by its ID is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
[
  • { }
]

Create new candidate for application

Creation of candidates is allowed for admin, creator (only in his application) and trustperson (only for his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

partyId
required
integer <int64>

Numeric ID of the party

Request Body schema: application/json
gender_id
required
integer
party_id
required
integer
firstName
required
string

Firstname of candidate light. Can also contain title as prefix

lastName
required
string

Lastname of candidate light

Responses

Request samples

Content type
application/json
{
  • "gender_id": 123,
  • "party_id": 123,
  • "firstName": "Max",
  • "lastName": "Mustermann"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get candidate light for application and party

Get a candidate light for one application is allowed for admin, creator (within his application), trustperson (within his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to get

candidateId
required
integer <int64>

Numeric ID of the candidate to get

partyId
required
integer <int64>

Numeric ID of the party to get

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change candidate for application and party

Changing a candidate for one application is allowed for admin, creator (within his application), trustperson (within his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

candidateId
required
integer <int64>

Numeric ID of the candidate to put

partyId
required
integer <int64>

Numeric ID of the party to put

Request Body schema: application/json
gender_id
required
integer
party_id
required
integer
firstName
required
string

Firstname of candidate light. Can also contain title as prefix

lastName
required
string

Lastname of candidate light

Responses

Request samples

Content type
application/json
{
  • "gender_id": 123,
  • "party_id": 123,
  • "firstName": "Max",
  • "lastName": "Mustermann"
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete candidate object

Deleting a candidate light for one application is allowed for admin, creator (within his application), trustperson (within his party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application

candidateId
required
integer <int64>

Numeric ID of the candidate to delete

partyId
required
integer <int64>

Numeric ID of the party to delete

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Get votes of a party

Fetching votes for one specific party is allowed for everyone.

path Parameters
applicationId
required
integer <int64>

Numeric ID of the election to get

partyId
required
integer <int64>

Numeric ID of the party to get

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change party votes for application

Changing votes for one specific party is only allowed for trustperson (for its own party)

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the application to put

partyId
required
integer <int64>

Numeric ID of the partyId to put

Request Body schema: application/json
statement_id
integer <int64>
application_id
integer <int64>
value
integer
weight
integer
explanation
string

Responses

Request samples

Content type
application/json
{
  • "statement_id": 123,
  • "application_id": 456,
  • "value": 75,
  • "weight": 1,
  • "explanation": "Lorem ipsum"
}

Response samples

Content type
application/json
{
  • "statement_id": 123,
  • "application_id": 456,
  • "value": 75,
  • "weight": 1,
  • "explanation": "Lorem ipsum",
  • "id": 123,
  • "party_id": 456,
  • "created_at": "2021-10-05T06:00:00.000Z",
  • "updated_at": "2021-10-05T06:00:00.000Z"
}

Action

Custom VOTO action

Send action request to trigger custom action

Authorizations:
Request Body schema: application/json
action
string
Enum: "ActionTypeChangeMail" "ActionTypeChangePassword" "ActionFinalizeAppTheses" "ActionFinalizePartyTheses" "ActionFinalizeCandidateTheses" "ActionCandidateFirstLogin"
id
integer

Must be the applicationId/partyId

Responses

Request samples

Content type
application/json
{
  • "action": "ActionTypeChangeMail",
  • "id": 123
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Custom mail VOTO action

Send action request to trigger custom mail sending

Authorizations:
Request Body schema: application/json
AddressType
string
Enum: "AddressTypePersonalized" "AddressTypeCommon"
Subject
string

The subject of the mail

Title
string

Title within the mail

Call2Action
string

Some call to action ( text of the button )

HTML
string

html string of the mail content

DryRun
boolean

Test only mode - not sending except to you

Apps
Array of integers <int64>
object

Responses

Request samples

Content type
application/json
{
  • "AddressType": "AddressTypePersonalized",
  • "Subject": "string",
  • "Title": "string",
  • "Call2Action": "string",
  • "HTML": "string",
  • "DryRun": true,
  • "Apps": [
    ],
  • "TargetStatus": {
    }
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Finalize app theses

Send action request to finalize app theses

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Finalize party theses

Send action request to finalize party theses

Authorizations:
path Parameters
partyId
required
integer <int64>

Numeric ID of the party

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Finalize party theses

Send action request to finalize candidate theses

Authorizations:
path Parameters
candidateId
required
integer <int64>

Numeric ID of the candidate

Responses

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Invite admins

Send action request to invite admins

Authorizations:
Request Body schema: application/json
id
integer

Must be the candidate/trustperson/creator/admin ID

object

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "Mailoptions": {
    }
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Invite creator

Send action request to invite creator

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: application/json
id
integer

Must be the candidate/trustperson/creator/admin ID

object

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "Mailoptions": {
    }
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Invite trustperson

Send action request to invite TrustPersons

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Request Body schema: application/json
id
integer

Must be the candidate/trustperson/creator/admin ID

object

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "Mailoptions": {
    }
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Invite candidates

Send action request to invite candidates

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

partyId
required
integer <int64>

Numeric ID of the party

Request Body schema: application/json
id
integer

Must be the candidate/trustperson/creator/admin ID

object

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "Mailoptions": {
    }
}

Response samples

Content type
application/json
{
  • "code": "400",
  • "message": "Malformed request"
}

Calculate standard deviation for app

Send action request to calculate standard deviation of answered theses of matches

Authorizations:
path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "Candidates": [
    ],
  • "Parties": [
    ]
}

Metrics

Get global voto votes

Get global voto votes count

Responses

Response samples

Content type
application/json
{
  • "votes": 204604
}

Get voto metrics for one instance

Get global voto votes count

path Parameters
applicationId
required
integer <int64>

Numeric ID of the VAA

Responses

Response samples

Content type
application/json
{
  • "votes": {
    },
  • "voto_started": 100000,
  • "voto_finished": 99999,
  • "history": [
    ]
}