nexmo_api_specification 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/definitions/stitch.yml +1310 -0
- data/lib/nexmo_api_specification/version.rb +1 -1
- data/ncco-schema.json +469 -0
- metadata +4 -3
- data/definitions/conversation.yml +0 -370
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nexmo_api_specification
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Butler
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -65,15 +65,16 @@ files:
|
|
65
65
|
- LICENSE.txt
|
66
66
|
- README.md
|
67
67
|
- Rakefile
|
68
|
-
- definitions/conversation.yml
|
69
68
|
- definitions/number-insight.yml
|
70
69
|
- definitions/sms.yml
|
70
|
+
- definitions/stitch.yml
|
71
71
|
- definitions/verify.yml
|
72
72
|
- guidelines/GUIDELINES.md
|
73
73
|
- guidelines/README.md
|
74
74
|
- lib/nexmo_api_specification.rb
|
75
75
|
- lib/nexmo_api_specification/definition.rb
|
76
76
|
- lib/nexmo_api_specification/version.rb
|
77
|
+
- ncco-schema.json
|
77
78
|
- nexmo_api_specification.gemspec
|
78
79
|
homepage: https://github.com/nexmo/api-specification
|
79
80
|
licenses:
|
@@ -1,370 +0,0 @@
|
|
1
|
-
openapi: 3.0.0
|
2
|
-
servers:
|
3
|
-
- url: 'https://api.nexmo.com/beta'
|
4
|
-
info:
|
5
|
-
version: 1.0.0
|
6
|
-
title: Conversation API
|
7
|
-
description: >-
|
8
|
-
The Nexmo Conversation API enables you to build conversation features where communication can take place across multiple mediums including IP Messaging, PSTN Voice, SMS and WebRTC Audio and Video. The context of the conversations is maintained though each communication event taking place within a conversation, no matter the medium.
|
9
|
-
security:
|
10
|
-
- bearerAuth: []
|
11
|
-
paths:
|
12
|
-
/conversations:
|
13
|
-
post:
|
14
|
-
security:
|
15
|
-
- bearerAuth: []
|
16
|
-
x-group: conversation
|
17
|
-
summary: Create a conversation
|
18
|
-
parameters:
|
19
|
-
- name: name
|
20
|
-
in: query
|
21
|
-
description: Conversation name, must be unique but will auto-generated if you do not provide it.
|
22
|
-
required: false
|
23
|
-
schema:
|
24
|
-
type: string
|
25
|
-
- name: display_name
|
26
|
-
in: query
|
27
|
-
description: A personal name of your choosing.
|
28
|
-
required: false
|
29
|
-
schema:
|
30
|
-
type: string
|
31
|
-
responses:
|
32
|
-
'200':
|
33
|
-
description: conversations response
|
34
|
-
content:
|
35
|
-
application/json:
|
36
|
-
schema:
|
37
|
-
type: object
|
38
|
-
$ref: '#/components/schemas/Conversation'
|
39
|
-
'401':
|
40
|
-
$ref: '#/components/responses/UnauthorizedError'
|
41
|
-
/conversations/{id}:
|
42
|
-
get:
|
43
|
-
x-group: conversation
|
44
|
-
summary: Retrieve a conversation
|
45
|
-
parameters:
|
46
|
-
- name: id
|
47
|
-
in: path
|
48
|
-
description: ID of the conversation
|
49
|
-
required: true
|
50
|
-
schema:
|
51
|
-
type: string
|
52
|
-
responses:
|
53
|
-
'200':
|
54
|
-
description: conversations response
|
55
|
-
content:
|
56
|
-
application/json:
|
57
|
-
schema:
|
58
|
-
type: array
|
59
|
-
items:
|
60
|
-
$ref: '#/components/schemas/ConversationFull'
|
61
|
-
/conversations/{id}/members:
|
62
|
-
get:
|
63
|
-
x-group: member
|
64
|
-
summary: Retrieve members of a conversation
|
65
|
-
parameters:
|
66
|
-
- name: id
|
67
|
-
in: path
|
68
|
-
description: ID of the conversation
|
69
|
-
required: true
|
70
|
-
schema:
|
71
|
-
type: string
|
72
|
-
responses:
|
73
|
-
'200':
|
74
|
-
description: members response
|
75
|
-
content:
|
76
|
-
application/json:
|
77
|
-
schema:
|
78
|
-
type: array
|
79
|
-
items:
|
80
|
-
$ref: '#/components/schemas/Member'
|
81
|
-
post:
|
82
|
-
x-group: member
|
83
|
-
summary: Add a user to a conversation
|
84
|
-
parameters:
|
85
|
-
- name: id
|
86
|
-
in: path
|
87
|
-
description: tags to filter by
|
88
|
-
required: true
|
89
|
-
schema:
|
90
|
-
type: string
|
91
|
-
responses:
|
92
|
-
'200':
|
93
|
-
description: members response
|
94
|
-
content:
|
95
|
-
application/json:
|
96
|
-
schema:
|
97
|
-
type: object
|
98
|
-
$ref: '#/components/schemas/MemberFull'
|
99
|
-
/users:
|
100
|
-
get:
|
101
|
-
x-group: user
|
102
|
-
summary: Retrieve all users
|
103
|
-
responses:
|
104
|
-
'200':
|
105
|
-
description: users response
|
106
|
-
content:
|
107
|
-
application/json:
|
108
|
-
schema:
|
109
|
-
type: array
|
110
|
-
items:
|
111
|
-
$ref: '#/components/schemas/UserFull'
|
112
|
-
post:
|
113
|
-
x-group: user
|
114
|
-
summary: Create a user
|
115
|
-
parameters:
|
116
|
-
- name: name
|
117
|
-
in: query
|
118
|
-
description: The users name
|
119
|
-
example: Dillon
|
120
|
-
required: false
|
121
|
-
schema:
|
122
|
-
type: string
|
123
|
-
responses:
|
124
|
-
'200':
|
125
|
-
description: users response
|
126
|
-
content:
|
127
|
-
application/json:
|
128
|
-
schema:
|
129
|
-
$ref: '#/components/schemas/User'
|
130
|
-
/users/{id}:
|
131
|
-
get:
|
132
|
-
x-group: user
|
133
|
-
summary: Retrive a user
|
134
|
-
parameters:
|
135
|
-
- name: id
|
136
|
-
in: path
|
137
|
-
description: The users ID
|
138
|
-
required: true
|
139
|
-
schema:
|
140
|
-
type: string
|
141
|
-
responses:
|
142
|
-
'200':
|
143
|
-
description: user response
|
144
|
-
content:
|
145
|
-
application/json:
|
146
|
-
schema:
|
147
|
-
$ref: '#/components/schemas/UserShow'
|
148
|
-
components:
|
149
|
-
securitySchemes:
|
150
|
-
bearerAuth:
|
151
|
-
type: http
|
152
|
-
scheme: bearer
|
153
|
-
bearerFormat: JWT
|
154
|
-
responses:
|
155
|
-
UnauthorizedError:
|
156
|
-
description: Access token is missing or invalid
|
157
|
-
content:
|
158
|
-
application/json:
|
159
|
-
schema:
|
160
|
-
type: object
|
161
|
-
required:
|
162
|
-
- code
|
163
|
-
- description
|
164
|
-
properties:
|
165
|
-
code:
|
166
|
-
type: 'string'
|
167
|
-
example: 'system:error:invalid-token'
|
168
|
-
description:
|
169
|
-
type: string
|
170
|
-
example: 'the token was rejected'
|
171
|
-
schemas:
|
172
|
-
CreatedTimestamp:
|
173
|
-
properties:
|
174
|
-
created:
|
175
|
-
example: "2020-01-01T12:00:00.000Z"
|
176
|
-
type: string
|
177
|
-
description: The time the conversation was created
|
178
|
-
JoinedTimestamp:
|
179
|
-
properties:
|
180
|
-
joined:
|
181
|
-
example: "2020-01-01T12:00:00.000Z"
|
182
|
-
type: string
|
183
|
-
Link:
|
184
|
-
properties:
|
185
|
-
self:
|
186
|
-
type: object
|
187
|
-
allOf:
|
188
|
-
- $ref: '#/components/schemas/Self'
|
189
|
-
Self:
|
190
|
-
properties:
|
191
|
-
href:
|
192
|
-
example: "http://conversation.local/v1/conversations/CON-aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
|
193
|
-
type: string
|
194
|
-
Embedded:
|
195
|
-
properties:
|
196
|
-
legs:
|
197
|
-
type: object
|
198
|
-
allOf:
|
199
|
-
- $ref: '#/components/schemas/Leg'
|
200
|
-
Leg:
|
201
|
-
properties:
|
202
|
-
_links:
|
203
|
-
type: array
|
204
|
-
example: []
|
205
|
-
Channel:
|
206
|
-
properties:
|
207
|
-
type:
|
208
|
-
type: string
|
209
|
-
example: app
|
210
|
-
MemberFull:
|
211
|
-
properties:
|
212
|
-
id:
|
213
|
-
example: "MEM-aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
|
214
|
-
type: string
|
215
|
-
user_id:
|
216
|
-
example: "USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
|
217
|
-
type: string
|
218
|
-
state:
|
219
|
-
example: "JOINED"
|
220
|
-
type: string
|
221
|
-
timestamp:
|
222
|
-
type: object
|
223
|
-
allOf:
|
224
|
-
- $ref: '#/components/schemas/JoinedTimestamp'
|
225
|
-
channel:
|
226
|
-
type: object
|
227
|
-
allOf:
|
228
|
-
- $ref: '#/components/schemas/Channel'
|
229
|
-
href:
|
230
|
-
example: 'http://conversation.local/v1/conversations/CON-aaaaaaaa-bbbb-cccc-dddd-0123456789ab/MEM-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
231
|
-
type: string
|
232
|
-
Member:
|
233
|
-
properties:
|
234
|
-
user_id:
|
235
|
-
example: "USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
|
236
|
-
type: string
|
237
|
-
name:
|
238
|
-
example: "MEM-aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
|
239
|
-
type: string
|
240
|
-
user_name:
|
241
|
-
example: "Dillon"
|
242
|
-
type: string
|
243
|
-
state:
|
244
|
-
example: "JOINED"
|
245
|
-
type: string
|
246
|
-
ConversationFull:
|
247
|
-
properties:
|
248
|
-
uuid:
|
249
|
-
example: "CON-aaaaaaaa-bbbb-cccc-dddd-0123456789ab"
|
250
|
-
type: string
|
251
|
-
description: >-
|
252
|
-
Unique identifier for the conversation
|
253
|
-
name:
|
254
|
-
example: "nexmo-chat"
|
255
|
-
type: string
|
256
|
-
description: >-
|
257
|
-
The name of the conversation
|
258
|
-
display_name:
|
259
|
-
example: "Nexmo Chat"
|
260
|
-
type: string
|
261
|
-
description: >-
|
262
|
-
The display name of the conversation
|
263
|
-
timestamp:
|
264
|
-
type: object
|
265
|
-
items:
|
266
|
-
$ref: '#/components/schemas/CreatedTimestamp'
|
267
|
-
sequence_number:
|
268
|
-
example: 0
|
269
|
-
type: integer
|
270
|
-
numbers:
|
271
|
-
example: {}
|
272
|
-
type: string
|
273
|
-
properties:
|
274
|
-
example: {}
|
275
|
-
type: string
|
276
|
-
members:
|
277
|
-
example: []
|
278
|
-
type: array
|
279
|
-
api_key:
|
280
|
-
example: "abcd1234"
|
281
|
-
type: string
|
282
|
-
description: The API Key of the owner of the conversation
|
283
|
-
_links:
|
284
|
-
example:
|
285
|
-
type: object
|
286
|
-
allOf:
|
287
|
-
- $ref: '#/components/schemas/Link'
|
288
|
-
_embedded:
|
289
|
-
type: object
|
290
|
-
allOf:
|
291
|
-
- $ref: '#/components/schemas/Embedded'
|
292
|
-
Conversation:
|
293
|
-
type: object
|
294
|
-
required:
|
295
|
-
- id
|
296
|
-
- href
|
297
|
-
properties:
|
298
|
-
id:
|
299
|
-
type: string
|
300
|
-
example: 'CON-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
301
|
-
href:
|
302
|
-
type: string
|
303
|
-
example: 'http://conversation.local/v1/conversations/CON-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
304
|
-
UserShow:
|
305
|
-
type: object
|
306
|
-
required:
|
307
|
-
- name
|
308
|
-
- id
|
309
|
-
- href
|
310
|
-
properties:
|
311
|
-
id:
|
312
|
-
type: string
|
313
|
-
example: 'USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
314
|
-
href:
|
315
|
-
type: string
|
316
|
-
example: 'http://conversation.local/v1/users/USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
317
|
-
name:
|
318
|
-
type: string
|
319
|
-
example: 'Dillon'
|
320
|
-
channels:
|
321
|
-
type: object
|
322
|
-
example: {}
|
323
|
-
User:
|
324
|
-
type: object
|
325
|
-
required:
|
326
|
-
- name
|
327
|
-
- id
|
328
|
-
- href
|
329
|
-
properties:
|
330
|
-
id:
|
331
|
-
type: string
|
332
|
-
example: 'USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
333
|
-
href:
|
334
|
-
type: string
|
335
|
-
example: 'http://conversation.local/v1/users/USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
336
|
-
UserFull:
|
337
|
-
type: object
|
338
|
-
required:
|
339
|
-
- name
|
340
|
-
- id
|
341
|
-
- href
|
342
|
-
properties:
|
343
|
-
name:
|
344
|
-
type: string
|
345
|
-
example: 'Dillon'
|
346
|
-
id:
|
347
|
-
type: string
|
348
|
-
example: 'USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
349
|
-
href:
|
350
|
-
type: string
|
351
|
-
example: 'http://conversation.local/v1/users/USR-aaaaaaaa-bbbb-cccc-dddd-0123456789ab'
|
352
|
-
x-groups:
|
353
|
-
conversation:
|
354
|
-
name: "Conversation"
|
355
|
-
order: 1
|
356
|
-
description: >-
|
357
|
-
A conversation is a shared core component that Nexmo APIs rely on. Conversations happen over multiple mediums and and can have associated Users through Memberships.
|
358
|
-
schema:
|
359
|
-
application/json:
|
360
|
-
$ref: '#/components/schemas/ConversationFull'
|
361
|
-
user:
|
362
|
-
name: "User"
|
363
|
-
order: 2
|
364
|
-
description: >-
|
365
|
-
The concept of a user exists in Nexmo APIs, you can associate one with a user in your own application if you choose. A user can have multiple memberships to conversations and can communicate with other users through various different mediums.
|
366
|
-
member:
|
367
|
-
name: "Member"
|
368
|
-
order: 3
|
369
|
-
description: >-
|
370
|
-
Memberships connect users with conversations. Each membership has one conversation and one user however a user can have many memberships to conversations just as conversations can have many members.
|