Mercurial > prosody-modules
comparison mod_rest/openapi.yaml @ 4476:125279f4a5b8
mod_rest: Restructure API spec
To make referencing individual fields easier, apparently some things
don't like references to individual properties of an object.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 28 Feb 2021 18:55:18 +0100 |
| parents | 949db0714b5f |
| children | 8df6cc648963 |
comparison
equal
deleted
inserted
replaced
| 4475:017ad6ed96ae | 4476:125279f4a5b8 |
|---|---|
| 65 components: | 65 components: |
| 66 schemas: | 66 schemas: |
| 67 stanza: | 67 stanza: |
| 68 properties: | 68 properties: |
| 69 delay: | 69 delay: |
| 70 type: string | 70 $ref: '#/components/schemas/delay' |
| 71 description: Timestamp of when a stanza was delayed, in ISO 8601 / XEP-0082 | |
| 72 format. | |
| 73 state: | 71 state: |
| 74 enum: | 72 $ref: '#/components/schemas/state' |
| 75 - active | 73 type: |
| 76 - inactive | 74 $ref: '#/components/schemas/type' |
| 77 - gone | 75 status: |
| 78 - composing | 76 $ref: '#/components/schemas/status' |
| 79 - paused | 77 id: |
| 80 description: Chat state notifications, e.g. "is typing..." | 78 $ref: '#/components/schemas/id' |
| 81 type: string | 79 replace: |
| 82 example: composing | 80 $ref: '#/components/schemas/replace' |
| 81 from: | |
| 82 $ref: '#/components/schemas/from' | |
| 83 body: | |
| 84 $ref: '#/components/schemas/body' | |
| 85 kind: | |
| 86 $ref: '#/components/schemas/kind' | |
| 87 show: | |
| 88 $ref: '#/components/schemas/show' | |
| 89 stats: | |
| 90 $ref: '#/components/schemas/stats' | |
| 91 priority: | |
| 92 $ref: '#/components/schemas/priority' | |
| 93 nick: | |
| 94 $ref: '#/components/schemas/nick' | |
| 95 to: | |
| 96 $ref: '#/components/schemas/to' | |
| 97 ping: | |
| 98 $ref: '#/components/schemas/ping' | |
| 99 subject: | |
| 100 $ref: '#/components/schemas/subject' | |
| 101 lang: | |
| 102 $ref: '#/components/schemas/lang' | |
| 103 join: | |
| 104 $ref: '#/components/schemas/join' | |
| 105 html: | |
| 106 $ref: '#/components/schemas/html' | |
| 107 dataform: | |
| 108 $ref: '#/components/schemas/dataform' | |
| 109 version: | |
| 110 $ref: '#/components/schemas/version' | |
| 111 payload: | |
| 112 $ref: '#/components/schemas/payload' | |
| 113 disco: | |
| 114 $ref: '#/components/schemas/disco' | |
| 115 oob_url: | |
| 116 $ref: '#/components/schemas/oob_url' | |
| 117 items: | |
| 118 $ref: '#/components/schemas/items' | |
| 119 formdata: | |
| 120 $ref: '#/components/schemas/formdata' | |
| 83 thread: | 121 thread: |
| 84 type: string | 122 $ref: '#/components/schemas/thread' |
| 85 description: Message thread identifier | |
| 86 status: | |
| 87 type: string | |
| 88 description: Textual status message. | |
| 89 id: | |
| 90 type: string | |
| 91 description: Reasonably unique id. mod_rest generates one if left out. | |
| 92 replace: | |
| 93 type: string | |
| 94 description: ID of message being replaced (e.g. for corrections) | |
| 95 from: | |
| 96 description: the sender | |
| 97 type: string | |
| 98 example: bob@localhost.example | |
| 99 body: | |
| 100 description: Human-readable chat message | |
| 101 type: string | |
| 102 example: Hello, World! | |
| 103 command: | 123 command: |
| 104 oneOf: | 124 $ref: '#/components/schemas/command' |
| 105 - type: string | |
| 106 - type: object | |
| 107 properties: | |
| 108 data: | |
| 109 $ref: '#/components/schemas/stanza/properties/formdata' | |
| 110 action: | |
| 111 type: string | |
| 112 note: | |
| 113 type: object | |
| 114 properties: | |
| 115 text: | |
| 116 type: string | |
| 117 type: | |
| 118 type: string | |
| 119 enum: | |
| 120 - info | |
| 121 - warn | |
| 122 - error | |
| 123 form: | |
| 124 $ref: '#/components/schemas/stanza/properties/dataform' | |
| 125 sessionid: | |
| 126 type: string | |
| 127 status: | |
| 128 type: string | |
| 129 node: | |
| 130 type: string | |
| 131 actions: | |
| 132 type: object | |
| 133 properties: | |
| 134 complete: | |
| 135 type: boolean | |
| 136 prev: | |
| 137 type: boolean | |
| 138 next: | |
| 139 type: boolean | |
| 140 execute: | |
| 141 type: string | |
| 142 description: Ad-hoc commands. | |
| 143 show: | |
| 144 description: indicator of availability, ie away or not | |
| 145 type: string | |
| 146 enum: | |
| 147 - away | |
| 148 - chat | |
| 149 - dnd | |
| 150 - xa | |
| 151 stats: | |
| 152 description: Statistics | |
| 153 type: array | |
| 154 items: | |
| 155 type: object | |
| 156 properties: | |
| 157 name: | |
| 158 type: string | |
| 159 unit: | |
| 160 type: string | |
| 161 value: | |
| 162 type: string | |
| 163 priority: | |
| 164 type: string | |
| 165 description: presence priority | |
| 166 kind: | |
| 167 description: Which kind of stanza | |
| 168 type: string | |
| 169 enum: | |
| 170 - message | |
| 171 - presence | |
| 172 - iq | |
| 173 to: | |
| 174 description: recipient | |
| 175 type: string | |
| 176 example: alice@example.com | |
| 177 type: | |
| 178 description: Stanza type | |
| 179 type: string | |
| 180 enum: | |
| 181 - chat | |
| 182 - normal | |
| 183 - headline | |
| 184 - groupchat | |
| 185 - get | |
| 186 - set | |
| 187 - result | |
| 188 - available | |
| 189 - unavailable | |
| 190 - subscribe | |
| 191 - subscribed | |
| 192 - unsubscribe | |
| 193 - unsubscribed | |
| 194 lang: | |
| 195 description: Language code | |
| 196 type: string | |
| 197 example: en | |
| 198 formdata: | |
| 199 additionalProperties: | |
| 200 oneOf: | |
| 201 - type: string | |
| 202 - type: array | |
| 203 items: | |
| 204 type: string | |
| 205 type: object | |
| 206 description: Simplified data form | |
| 207 join: | |
| 208 description: For joining Multi-User-Chats | |
| 209 type: boolean | |
| 210 enum: | |
| 211 - true | |
| 212 dataform: | |
| 213 properties: | |
| 214 title: | |
| 215 type: string | |
| 216 fields: | |
| 217 type: array | |
| 218 items: | |
| 219 type: object | |
| 220 properties: | |
| 221 value: | |
| 222 oneOf: | |
| 223 - type: string | |
| 224 - type: array | |
| 225 items: | |
| 226 type: string | |
| 227 type: | |
| 228 type: string | |
| 229 label: | |
| 230 type: string | |
| 231 desc: | |
| 232 type: string | |
| 233 required: | |
| 234 type: boolean | |
| 235 var: | |
| 236 type: string | |
| 237 type: | |
| 238 type: string | |
| 239 enum: | |
| 240 - form | |
| 241 - submit | |
| 242 - cancel | |
| 243 - result | |
| 244 instructions: | |
| 245 type: string | |
| 246 description: Data form | |
| 247 type: object | |
| 248 items: | |
| 249 oneOf: | |
| 250 - description: An items query or empty list | |
| 251 type: boolean | |
| 252 enum: | |
| 253 - true | |
| 254 - type: string | |
| 255 description: A query with a node, or an empty reply list with a node | |
| 256 - description: List of items referenced | |
| 257 type: array | |
| 258 items: | |
| 259 properties: | |
| 260 jid: | |
| 261 type: string | |
| 262 description: Address of item | |
| 263 node: | |
| 264 type: string | |
| 265 name: | |
| 266 type: string | |
| 267 description: Descriptive name | |
| 268 required: | |
| 269 - jid | |
| 270 type: object | |
| 271 description: List of references to other entities | |
| 272 version: | |
| 273 oneOf: | |
| 274 - type: boolean | |
| 275 - properties: | |
| 276 version: | |
| 277 type: string | |
| 278 name: | |
| 279 type: string | |
| 280 os: | |
| 281 type: string | |
| 282 required: | |
| 283 - name | |
| 284 - version | |
| 285 type: object | |
| 286 description: Software version query | |
| 287 payload: | |
| 288 required: | |
| 289 - datatype | |
| 290 - data | |
| 291 properties: | |
| 292 data: | |
| 293 type: object | |
| 294 datatype: | |
| 295 type: string | |
| 296 description: A piece of arbitrary JSON with a type field attached | |
| 297 type: object | |
| 298 disco: | |
| 299 oneOf: | |
| 300 - type: boolean | |
| 301 description: Either a query, or an empty response | |
| 302 - type: string | |
| 303 description: A query with a node, or an empty response with a node | |
| 304 - properties: | |
| 305 features: | |
| 306 description: List of URIs indicating supported features | |
| 307 type: array | |
| 308 items: | |
| 309 type: string | |
| 310 identities: | |
| 311 items: | |
| 312 type: object | |
| 313 properties: | |
| 314 name: | |
| 315 type: string | |
| 316 type: | |
| 317 type: string | |
| 318 category: | |
| 319 type: string | |
| 320 description: List of abstract identities or types that describe the | |
| 321 entity | |
| 322 type: array | |
| 323 example: | |
| 324 - name: Prosody | |
| 325 type: im | |
| 326 category: server | |
| 327 node: | |
| 328 type: string | |
| 329 extensions: | |
| 330 type: object | |
| 331 description: A full response | |
| 332 type: object | |
| 333 description: Discover supported features | |
| 334 oob_url: | |
| 335 type: string | |
| 336 description: URL of an attached media file. | |
| 337 html: | |
| 338 description: HTML version of 'body' | |
| 339 type: string | |
| 340 example: <body><p>Hello!</p></body> | |
| 341 subject: | |
| 342 description: Subject of message or group chat | |
| 343 type: string | |
| 344 example: Talking about stuff | |
| 345 ping: | |
| 346 description: A ping. | |
| 347 type: boolean | |
| 348 enum: | |
| 349 - true | |
| 350 nick: | |
| 351 type: string | |
| 352 description: Nickname of the sender | |
| 353 type: object | 125 type: object |
| 354 example: | 126 example: |
| 355 body: Hello | 127 body: Hello |
| 356 type: chat | 128 type: chat |
| 357 kind: message | 129 kind: message |
| 130 to: alice@example.com | |
| 358 state: active | 131 state: active |
| 359 to: alice@example.com | 132 delay: |
| 133 type: string | |
| 134 description: Timestamp of when a stanza was delayed, in ISO 8601 / XEP-0082 | |
| 135 format. | |
| 136 state: | |
| 137 enum: | |
| 138 - active | |
| 139 - inactive | |
| 140 - gone | |
| 141 - composing | |
| 142 - paused | |
| 143 description: Chat state notifications, e.g. "is typing..." | |
| 144 type: string | |
| 145 example: composing | |
| 146 thread: | |
| 147 type: string | |
| 148 description: Message thread identifier | |
| 149 status: | |
| 150 type: string | |
| 151 description: Textual status message. | |
| 152 id: | |
| 153 type: string | |
| 154 description: Reasonably unique id. mod_rest generates one if left out. | |
| 155 replace: | |
| 156 type: string | |
| 157 description: ID of message being replaced (e.g. for corrections) | |
| 158 from: | |
| 159 description: the sender | |
| 160 type: string | |
| 161 example: bob@localhost.example | |
| 162 body: | |
| 163 description: Human-readable chat message | |
| 164 type: string | |
| 165 example: Hello, World! | |
| 166 command: | |
| 167 oneOf: | |
| 168 - type: string | |
| 169 - type: object | |
| 170 properties: | |
| 171 data: | |
| 172 $ref: '#/components/schemas/stanza/properties/formdata' | |
| 173 action: | |
| 174 type: string | |
| 175 note: | |
| 176 type: object | |
| 177 properties: | |
| 178 text: | |
| 179 type: string | |
| 180 type: | |
| 181 type: string | |
| 182 enum: | |
| 183 - info | |
| 184 - warn | |
| 185 - error | |
| 186 form: | |
| 187 $ref: '#/components/schemas/stanza/properties/dataform' | |
| 188 sessionid: | |
| 189 type: string | |
| 190 status: | |
| 191 type: string | |
| 192 node: | |
| 193 type: string | |
| 194 actions: | |
| 195 type: object | |
| 196 properties: | |
| 197 complete: | |
| 198 type: boolean | |
| 199 prev: | |
| 200 type: boolean | |
| 201 next: | |
| 202 type: boolean | |
| 203 execute: | |
| 204 type: string | |
| 205 description: Ad-hoc commands. | |
| 206 show: | |
| 207 description: indicator of availability, ie away or not | |
| 208 type: string | |
| 209 enum: | |
| 210 - away | |
| 211 - chat | |
| 212 - dnd | |
| 213 - xa | |
| 214 stats: | |
| 215 description: Statistics | |
| 216 type: array | |
| 217 items: | |
| 218 type: object | |
| 219 properties: | |
| 220 name: | |
| 221 type: string | |
| 222 unit: | |
| 223 type: string | |
| 224 value: | |
| 225 type: string | |
| 226 priority: | |
| 227 type: string | |
| 228 description: presence priority | |
| 229 kind: | |
| 230 description: Which kind of stanza | |
| 231 type: string | |
| 232 enum: | |
| 233 - message | |
| 234 - presence | |
| 235 - iq | |
| 236 to: | |
| 237 description: recipient | |
| 238 type: string | |
| 239 example: alice@example.com | |
| 240 type: | |
| 241 description: Stanza type | |
| 242 type: string | |
| 243 enum: | |
| 244 - chat | |
| 245 - normal | |
| 246 - headline | |
| 247 - groupchat | |
| 248 - get | |
| 249 - set | |
| 250 - result | |
| 251 - available | |
| 252 - unavailable | |
| 253 - subscribe | |
| 254 - subscribed | |
| 255 - unsubscribe | |
| 256 - unsubscribed | |
| 257 lang: | |
| 258 description: Language code | |
| 259 type: string | |
| 260 example: en | |
| 261 formdata: | |
| 262 additionalProperties: | |
| 263 oneOf: | |
| 264 - type: string | |
| 265 - type: array | |
| 266 items: | |
| 267 type: string | |
| 268 type: object | |
| 269 description: Simplified data form | |
| 270 join: | |
| 271 description: For joining Multi-User-Chats | |
| 272 type: boolean | |
| 273 enum: | |
| 274 - true | |
| 275 dataform: | |
| 276 properties: | |
| 277 title: | |
| 278 type: string | |
| 279 fields: | |
| 280 type: array | |
| 281 items: | |
| 282 type: object | |
| 283 properties: | |
| 284 value: | |
| 285 oneOf: | |
| 286 - type: string | |
| 287 - type: array | |
| 288 items: | |
| 289 type: string | |
| 290 type: | |
| 291 type: string | |
| 292 label: | |
| 293 type: string | |
| 294 desc: | |
| 295 type: string | |
| 296 required: | |
| 297 type: boolean | |
| 298 var: | |
| 299 type: string | |
| 300 type: | |
| 301 type: string | |
| 302 enum: | |
| 303 - form | |
| 304 - submit | |
| 305 - cancel | |
| 306 - result | |
| 307 instructions: | |
| 308 type: string | |
| 309 description: Data form | |
| 310 type: object | |
| 311 items: | |
| 312 oneOf: | |
| 313 - description: An items query or empty list | |
| 314 type: boolean | |
| 315 enum: | |
| 316 - true | |
| 317 - type: string | |
| 318 description: A query with a node, or an empty reply list with a node | |
| 319 - description: List of items referenced | |
| 320 type: array | |
| 321 items: | |
| 322 properties: | |
| 323 jid: | |
| 324 type: string | |
| 325 description: Address of item | |
| 326 node: | |
| 327 type: string | |
| 328 name: | |
| 329 type: string | |
| 330 description: Descriptive name | |
| 331 required: | |
| 332 - jid | |
| 333 type: object | |
| 334 description: List of references to other entities | |
| 335 version: | |
| 336 oneOf: | |
| 337 - type: boolean | |
| 338 - properties: | |
| 339 version: | |
| 340 type: string | |
| 341 name: | |
| 342 type: string | |
| 343 os: | |
| 344 type: string | |
| 345 required: | |
| 346 - name | |
| 347 - version | |
| 348 type: object | |
| 349 description: Software version query | |
| 350 payload: | |
| 351 required: | |
| 352 - datatype | |
| 353 - data | |
| 354 properties: | |
| 355 data: | |
| 356 type: object | |
| 357 datatype: | |
| 358 type: string | |
| 359 description: A piece of arbitrary JSON with a type field attached | |
| 360 type: object | |
| 361 disco: | |
| 362 oneOf: | |
| 363 - type: boolean | |
| 364 description: Either a query, or an empty response | |
| 365 - type: string | |
| 366 description: A query with a node, or an empty response with a node | |
| 367 - properties: | |
| 368 features: | |
| 369 description: List of URIs indicating supported features | |
| 370 type: array | |
| 371 items: | |
| 372 type: string | |
| 373 identities: | |
| 374 items: | |
| 375 type: object | |
| 376 properties: | |
| 377 name: | |
| 378 type: string | |
| 379 type: | |
| 380 type: string | |
| 381 category: | |
| 382 type: string | |
| 383 description: List of abstract identities or types that describe the | |
| 384 entity | |
| 385 type: array | |
| 386 example: | |
| 387 - name: Prosody | |
| 388 type: im | |
| 389 category: server | |
| 390 node: | |
| 391 type: string | |
| 392 extensions: | |
| 393 type: object | |
| 394 description: A full response | |
| 395 type: object | |
| 396 description: Discover supported features | |
| 397 oob_url: | |
| 398 type: string | |
| 399 description: URL of an attached media file. | |
| 400 html: | |
| 401 description: HTML version of 'body' | |
| 402 type: string | |
| 403 example: <body><p>Hello!</p></body> | |
| 404 subject: | |
| 405 description: Subject of message or group chat | |
| 406 type: string | |
| 407 example: Talking about stuff | |
| 408 ping: | |
| 409 description: A ping. | |
| 410 type: boolean | |
| 411 enum: | |
| 412 - true | |
| 413 nick: | |
| 414 type: string | |
| 415 description: Nickname of the sender | |
| 360 securitySchemes: | 416 securitySchemes: |
| 361 token: | 417 token: |
| 362 description: Tokens from mod_http_oauth2. | 418 description: Tokens from mod_http_oauth2. |
| 363 scheme: Bearer | 419 scheme: Bearer |
| 364 type: http | 420 type: http |
