-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathapiary.apib
406 lines (200 loc) · 10.4 KB
/
apiary.apib
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
FORMAT: 1A
# Superdesk API
Superdesk is an open source end-to-end news creation, production, curation, distribution and publishing platform developed and maintained
by Sourcefabric with the sole purpose of making the best possible software for journalism.
This is the offical documentation of Superdesk API used by Superdesk application. It features all the resources to
- manage a newsroom (i.e. users, desks, stages etc)
- manage stories (i.e. templates, stories, multimedia etc)
- manage distribution (i.e. subscribers, filters, destinations etc)
---
## Before You Begin
The base URI for all requests is http://{{host}/api where host will be the host address where the server runs.
To run the server locally please check [Superdesk](https://github.com/superdesk/superdesk) repo for all the information
---
## Features
Below is a list of some of the main features that any Superdesk APIs can expose.
- (Filtering)[https://docs.python-eve.org/en/stable/features.html#filtering]
- (Sorting)[https://docs.python-eve.org/en/stable/features.html#sorting]
- (Pagination)[https://docs.python-eve.org/en/stable/features.html#pagination]
- (HATEOAS)[https://docs.python-eve.org/en/stable/features.html#hateoas]
---
## PATCH and DELETE actions
Patch and Delte actions will require a header `If-Match` with the _etag_ value of the resource
# Group Authentication
<!-- include(endpoints/configuration/auth.apib) -->
# Group All Resources
List of resources related to questions in the API.
<!-- include(endpoints/all-resources.apib) -->
# Group User Management
<!-- include(endpoints/configuration/users.apib) -->
# Group Roles Management
<!-- include(endpoints/configuration/roles.apib) -->
# Group Preference Management
<!-- include(endpoints/configuration/preferences.apib) -->
# Group Session Management
<!-- include(endpoints/configuration/sessions.apib) -->
# Group Stage Management
<!-- include(endpoints/configuration/stages.apib) -->
# Group Desk Management
<!-- include(endpoints/configuration/desks.apib) -->
# Group Vocabularies
<!-- include(endpoints/configuration/vocabularies.apib) -->
# Group Routing Schemes
<!-- include(endpoints/configuration/routing-schemes.apib) -->
# Group Dictionaries
<!-- include(endpoints/configuration/dictionaries.apib) -->
# Group Rule Sets
<!-- include(endpoints/configuration/rule-sets.apib) -->
# Group Audits
<!-- include(endpoints/configuration/audits.apib) -->
# Group Validators
<!-- include(endpoints/configuration/validators.apib) -->
# Group Workspaces
<!-- include(endpoints/configuration/workspaces.apib) -->
# Group Concept Items
<!-- include(endpoints/configuration/concept-items.apib) -->
# Group Allowed Values
<!-- include(endpoints/configuration/allowed-values.apib) -->
# Group Backend Meta
<!-- include(endpoints/configuration/backend-meta.apib) -->
# Group Closed Desks
<!-- include(endpoints/configuration/closed-desks.apib) -->
# Group Content Templates
<!-- include(endpoints/configuration/content-templates.apib) -->
# Group Content Types
<!-- include(endpoints/configuration/content-types.apib) -->
# Group Internal Destinations
<!-- include(endpoints/configuration/internal-destinations.apib) -->
# Group Search Providers
<!-- include(endpoints/configuration/search-providers.apib) -->
# Group Client Config
<!-- include(endpoints/configuration/client-config.apib) -->
# Group Server Configurations
<!-- include(endpoints/configuration/config.apib) -->
# Group Archive
<!-- include(endpoints/content/archive.apib) -->
# Group Archive Autosave
<!-- include(endpoints/content/archive-autosave.apib) -->
# Group Archive History
<!-- include(endpoints/content/archive-history.apib) -->
# Group Comments
<!-- include(endpoints/content/comments.apib) -->
# Group Archive Publishing
<!-- include(endpoints/content/archive-publish.apib) -->
# Group Highlights
<!-- include(endpoints/content/highlights.apib) -->
# Group Archived
<!-- include(endpoints/content/archived.apib) -->
# Group Attachments
<!-- include(endpoints/content/attachments.apib) -->
# Group Export
<!-- include(endpoints/content/export.apib) -->
# Group Macros
<!-- include(endpoints/content/macros.apib) -->
# Group Mark For Desks
<!-- include(endpoints/content/mark-for-desks.apib) -->
# Group Spikes
<!-- include(endpoints/content/spikes.apib) -->
# Group Spellcheck
<!-- include(endpoints/content/spell-check.apib) -->
# Group Uploads
<!-- include(endpoints/content/uploads.apib) -->
# Group Media Editor
Media Editor do requested transformations on a media (images only for now).
<!-- include(endpoints/content/media-editor.apib) -->
# Group Picture Crop
<!-- include(endpoints/content/picture-crop.apib) -->
# Group Picture Renditions
<!-- include(endpoints/content/picture-renditions.apib) -->
# Group Suggestion
<!-- include(endpoints/content/suggestions.apib) -->
# Group Tasks
<!-- include(endpoints/content/tasks.apib) -->
# Group Published Items
<!-- include(endpoints/content/published.apib) -->
# Group Saved Searches
<!-- include(endpoints/content/saved-searches.apib) -->
# Group Workqueue
<!-- include(endpoints/content/workqueue.apib) -->
# Group Contacts
<!-- include(endpoints/content/contacts.apib) -->
# Group Search
<!-- include(endpoints/content/search.apib) -->
# Group Ingest Provider
List of resources related to ingest providers in the API.
<!-- include(endpoints/ingest/ingest-provider.apib) -->
# Group Ingest
<!-- include(endpoints/ingest/ingest.apib) -->
# Group Feeding Services
<!-- include(endpoints/ingest/feeding-services.apib) -->
# Group Filter Conditions
<!-- include(endpoints/distribution/filter-conditions.apib) -->
# Group Content Filters
<!-- include(endpoints/distribution/content-filters.apib) -->
# Group Formatters
<!-- include(endpoints/distribution/formatters.apib) -->
# Group Products
<!-- include(endpoints/distribution/products.apib) -->
# Group Publish Queue
<!-- include(endpoints/distribution/publish-queue.apib) -->
# Group Content Api Items
<!-- include(endpoints/content-api/items.apib) -->
# Group Content Api Search
<!-- include(endpoints/content-api/search-capi.apib) -->
# Group Agenda
<!-- include(endpoints/planning/agenda.apib) -->
# Group Events
<!-- include(endpoints/planning/events.apib) -->
# Group Event Autosave
<!-- include(endpoints/planning/events-autosave.apib) -->
# Group Event Files
<!-- include(endpoints/planning/events-files.apib) -->
# Group Event History
<!-- include(endpoints/planning/events-history.apib) -->
# Group Event Planning Search
<!-- include(endpoints/planning/events-planning-search.apib) -->
# Group Event Planning Filters
<!-- include(endpoints/planning/events-planning-filters.apib) -->
# Group Planning
<!-- include(endpoints/planning/planning.apib) -->
# Group Planning Autosave
<!-- include(endpoints/planning/planning-autosave.apib) -->
# Group Planning Export Templates
<!-- include(endpoints/planning/planning-export-templates.apib) -->
# Group Planning Article Export
<!-- include(endpoints/planning/planning-article-export.apib) -->
# Group Planning Download
<!-- include(endpoints/planning/planning-download.apib) -->
# Group Planning Validator
<!-- include(endpoints/planning/planning-validator.apib) -->
# Group Planning Types
<!-- include(endpoints/planning/planning-types.apib) -->
# Group Planning Files
<!-- include(endpoints/planning/planning-files.apib) -->
# Group Planning History
<!-- include(endpoints/planning/planning-history.apib) -->
# Group Featured Planning Items
<!-- include(endpoints/planning/planning-featured.apib) -->
# Group Planning Search
<!-- include(endpoints/planning/planning-search.apib) -->
# Group Assignments
**The life cycle of an Assignment**
- A Coverage can be assigned to a desk or to a desk and user. From within planning, for example, an editor may decide to assign a coverage to a desk or bureau and allow them to decide which staffer does the work, or the editor may decide to assign directly to a user.
- If a coverage is assigned to a desk, a user needs to be a member of that desk in order to see it in their list of assignments, and the item will be created on that desk.
- The work for a coverage assignment should always be created on a desk. It should not be possible to fulfill a coverage within a personal workspace
- The default (initial) state of an assignment is ‘assigned’ This means that the Coverage is assigned to workflow but work has not started.
- Once an associated (linked) content item is created, the assignment status is changed to “in progress”.
- When an assignment is configured with a ‘coverage provider’ the ‘start working’ action to create a new content item will not be available.
- When an ‘in progress’ text assignment is completed by a user on an authoring desk they will then send the item to a production desk. In this workflow case, the assignment status will change to ‘submitted’ and there will also be a change of desk assignment so that the story assignment now appears in the assignment list for the production desk (with no [assigned_user]). When a user on the production desk then edits the submitted story, the assignment status will again change to ‘in progress’ and the [assigned_user] value will reflect the current lock user.
- Once/When an item linked to an Assignment is published, the assignment status is changed to “completed”.
- A User can also manually mark an assignment as complete.
- Once an assignment has been completed, no further actions are available against it. For example, a User cannot “re-assign” an assignment if it has already been completed.
- If a user who has accepted an assignment partially completes it before reassigning it back to the desk (or to another user), any content that may have already been created from the Assignment is left untouched. This might for example occur if a user who is working on an assignment needs to switch to another, leaving their original assignment to be picked up by someone else.
- A coverage (and its related Assignment) can be cancelled. If there has been any content already generated for a cancelled coverage the content will be left ‘as is’ in the system, but with all references to planning removed
<!-- include(endpoints/planning/assignments.apib) -->
# Group Assignments History
<!-- include(endpoints/planning/assignments-history.apib) -->
# Group Locations
<!-- include(endpoints/planning/locations.apib) -->
# Group Published Planning
<!-- include(endpoints/planning/published-planning.apib) -->