Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
openapi: 3.0.3
info:
title: voltastics
description: |-
voltastics api for third-party developers.
Important: all calls will have to set the x-voltastics-token header.
contact:
email: info@voltastics.org
version: 0.0.1
paths:
/cities:
get:
summary: Get list of all cities with engagement-offers available
description: Returns a list of all cities with engagement options available.
security:
- voltasticsToken: []
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CityList'
/uses:
get:
summary: Get list of all uses with engagement-offers available
description: Returns a list of all uses with engagement options available. A use is something like e.g. Natur- und Umweltschutz, Flüchtlingshilfe...#
security:
- voltasticsToken: []
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/UseList'
/engagements:
get:
summary: List engagements
description: list engagements (assumed API design)
security:
- voltasticsToken: []
parameters:
- name: location
in: query
description: The location of the engagement
required: false
schema:
type: string
- name: use
in: query
description: The use of the engagement
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/EngagementList'
/searchengagement:
get:
summary: Search for engagements
description: Search for engagements in given bbox or in a radius around a centre coordinate.
security:
- voltasticsToken: []
parameters:
- name: lat
in: query
description: The latitude of the centre of the circle for a radius search
required: true
explode: true
schema:
type: number
- name: lon
in: query
description: The longitude of the centre of the circle for a radius search
required: true
explode: true
schema:
type: number
- name: radius
in: query
description: The radius to search for in km
required: true
explode: true
schema:
type: number
enum: [1, 5, 10, 20]
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/EngagementList'
/trackview:
get:
summary: Track the view of an engagement
description: Send a little tracking event for given engagement
security:
- voltasticsToken: []
parameters:
- name: id
in: query
description: The id of the engagement to track an event for
required: true
explode: true
schema:
type: integer
format: int64
example: 86009
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/TrackViewResult'
components:
schemas:
CityList:
type: array
items:
type: string
example: [Bonn, Frankfurt, Hamburg]
UseList:
type: array
items:
type: string
example: [Naturschutz, Katastrophenhilfe]
Engagement:
type: object
required:
- id
- title
- description
- link
- source
- uses
- hashTags
- orga
properties:
id:
type: integer
format: int64
example: 86009
title:
type: string
example: Einsätze in der Natur- und Biotoppflege
location:
type: string
example: Trier
link:
type: string
example: https://www.aktion-mensch.de/was-du-tun-kannst/ehrenamt/engagement-plattform#/lokale-angebote/047980a0-4b54-4225-8601-982593922401?utm_source=voltastics
source:
type: string
example: Aktion Mensch
image:
type: string
example: https://backend.voltastics.de/search/image?id=86009-einsatze-in-der-natur-und-biotoppflege
uses:
type: array
items:
type: string
hashTags:
type: array
items:
type: string
orga:
type: string
example: asd
imageOrga:
type: string
example: asd
description:
type: string
example: <p>Wir suchen Freiwillige für folgenden Aufgabenbereich:</p>\n<p><br /><br /></p>\n<p>
latitude:
type: number
example: 49.74482
longitude:
type: number
example: 6.63449
EngagementList:
type: array
items:
$ref: '#/components/schemas/Engagement'
TrackViewResult:
type: object
properties:
success:
type: boolean
securitySchemes:
voltasticsToken:
type: apiKey
in: header
name: x-voltastics-token