nexmo_api_specification 0.11.1 → 0.11.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a0384722a3859e07f8d1e928f128c9fc553dbfe
4
- data.tar.gz: 5c57e55b250604aa1ac5acf6b2fa206b123821c7
3
+ metadata.gz: b5c8c40ce265d614d8a602e3cf2652dddb5c3fbb
4
+ data.tar.gz: e2545074caadbf429c03c1c319b656a7967c587a
5
5
  SHA512:
6
- metadata.gz: 0d5c2a698f9cf9491677c12c0fb71f701a6f81f01a7622b763752be6a277889f61f959721f4e776e506a60c8efffef4905733cdb6c2c5cb3dde3eb223b115458
7
- data.tar.gz: 9f04d65d503f4134093223b76bcc6918249d63dfe8b363e118b6435959a5f9988ccd36ae3e12d217320b6debb861251f85497597ad8461a8b36f45a211bfb1e5
6
+ metadata.gz: 01c84df8c3f285993f87ae39816bf4879c69f7506b686a7807beb39c6d0ff1b871264f5faac25b9d3d6f4660be46df0582065afbd824aa39853503aad6fde986
7
+ data.tar.gz: 55e0bab7af7b6136b79bae403c592c2e6356928f6b80c47e742eed1e1dae4650b8d18fc4f81f71d3aba08ecbf97b14802d9cec9f4f6fc470f3214c1afb33fe7f
@@ -331,7 +331,7 @@ components:
331
331
  attribute: true
332
332
  caller-name:
333
333
  type: string
334
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
334
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
335
335
  example: 'John Smith'
336
336
  xml:
337
337
  attribute: true
@@ -353,7 +353,7 @@ components:
353
353
  attribute: true
354
354
  caller_name:
355
355
  type: string
356
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
356
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
357
357
  example: 'John Smith'
358
358
  last_name:
359
359
  type: string
@@ -422,7 +422,7 @@ components:
422
422
  attribute: true
423
423
  caller-name:
424
424
  type: string
425
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
425
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
426
426
  example: 'John Smith'
427
427
  xml:
428
428
  attribute: true
@@ -444,7 +444,7 @@ components:
444
444
  attribute: true
445
445
  caller_name:
446
446
  type: string
447
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
447
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
448
448
  example: 'John Smith'
449
449
  last_name:
450
450
  type: string
@@ -646,7 +646,7 @@ components:
646
646
  $ref: '#/components/schemas/niCallerIdentity'
647
647
  caller_name:
648
648
  type: string
649
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
649
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
650
650
  example: 'John Smith'
651
651
  last_name:
652
652
  type: string
@@ -741,7 +741,7 @@ components:
741
741
  $ref: '#/components/schemas/niCallerIdentity'
742
742
  caller_name:
743
743
  type: string
744
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
744
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
745
745
  example: 'John Smith'
746
746
  last_name:
747
747
  type: string
@@ -926,7 +926,7 @@ components:
926
926
  example: 'consumer'
927
927
  caller_name:
928
928
  type: string
929
- description: 'Full name of the person who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
929
+ description: 'Full name of the person or business who owns the phone number. `unknown` if this information is not available. This parameter is only present if `cnam` had a value of `true` within the request.'
930
930
  example: 'John Smith'
931
931
  first_name:
932
932
  type: string
data/definitions/sms.yml CHANGED
@@ -119,9 +119,9 @@ components:
119
119
  to:
120
120
  description: The number that the message should be sent to
121
121
  type: string
122
- minLength: 11
123
- maxLength: 12
124
- pattern: '\d{11,12}'
122
+ minLength: 7
123
+ maxLength: 15
124
+ pattern: '\d{7,15}'
125
125
  example: 447700900000
126
126
  text:
127
127
  description: The body of the message being sent
@@ -395,29 +395,7 @@ components:
395
395
  example: '2001011400'
396
396
  err-code:
397
397
  type: string
398
- description: |
399
- The status of the request. Will be a non `0` value if there has been an error.
400
-
401
- Code | Description
402
- -- | --
403
- `0` | Delivered.
404
- `1` | ^[Unknown](Either: An unknown error was received from the carrier who tried to send this this message. Depending on the carrier, that to is unknown. When you see this error, and status is rejected, always check if to in your request was valid.)
405
- `2` | ^[Absent Subscriber Temporary](This message was not delivered because to was temporarily unavailable. For example, the handset used for to was out of coverage or switched off. This is a temporary failure, retry later for a positive result.)
406
- `3` | ^[Absent Subscriber Permanent](To is no longer active, you should remove this phone number from your database.)
407
- `4` | ^[Call barred by user](You should remove this phone number from your database. If the user wants to receive messages from you, they need to contact their carrier directly.)
408
- `5` | ^[Portability Error](There is an issue after the user has changed carrier for to. If the user wants to receive messages from you, they need to contact their carrier directly.)
409
- `6` | ^[Anti-Spam Rejection](Carriers often apply restrictions that block messages following different criteria. For example, on SenderID or message content.)
410
- `7` | ^[Handset Busy](The handset associated with to was not available when this message was sent. If status is Failed, this is a temporary failure; retry later for a positive result. If status is Accepted, this message has is in the retry scheme and will be resent until it expires in 24-48 hours.)
411
- `8` | ^[Network Error](A network failure while sending your message. This is a temporary failure, retry later for a positive result.)
412
- `9` | ^[Illegal Number](You tried to send a message to a blacklisted phone number. That is, the user has already sent a STOP opt-out message and no longer wishes to receive messages from you.)
413
- `10` | ^[Invalid Message](The message could not be sent because one of the parameters in the message was incorrect. For example, incorrect type or udh.)
414
- `11` | ^[Unroutable](The chosen route to send your message is not available. This is because the phone number is either currently on an unsupported network or on a pre-paid or reseller account that could not receive a message sent by from. To resolve this issue either email us at support@nexmo.com or create a helpdesk ticket at https://help.nexmo.com.)
415
- `12` | ^[Destination unreachable](The message could not be delivered to the phone number.)
416
- `13` | ^[Subscriber Age Restriction](The carrier blocked this message because the content is not suitable for to based on age restrictions.)
417
- `14` | ^[Number Blocked by Carrier](The carrier blocked this message. This could be due to several reasons. For example, to's plan does not include SMS or the account is suspended.)
418
- `15` | ^[Pre-Paid](Insufficent funds. To’s pre-paid account does not have enough credit to receive the message.)
419
- `99` | ^[General Error](There is a problem with the chosen route to send your message. To resolve this issue either email us at support@nexmo.com or create a helpdesk ticket at https://help.nexmo.com.)
420
-
398
+ description: The status of the request. Will be a non `0` value if there has been an error. See the [SMS error reference](/api-errors/sms) for more details
421
399
  example: '0'
422
400
  message-timestamp:
423
401
  description: The time when Nexmo started to push this Delivery Receipt to your webhook endpoint.
@@ -433,3 +411,71 @@ x-groups:
433
411
  $ref: '#/components/schemas/SMS'
434
412
  text/xml:
435
413
  $ref: '#/components/schemas/MessageXmlWrapper'
414
+
415
+ x-errors:
416
+ 1:
417
+ description: An unknown error was received from the carrier who tried to send this this message. Depending on the carrier, that `to` is unknown.
418
+ resolution: When you see this error, and status is rejected, always check if `to` in your request was valid.
419
+
420
+ 2:
421
+ description: This message was not delivered because `to` was temporarily unavailable. For example, the handset used for to was out of coverage or switched off.
422
+ resolution: This is a temporary failure, retry later for a positive result.
423
+
424
+ 3:
425
+ description: The `to` number is no longer active
426
+ resolution: Remove this phone number from your database.
427
+
428
+ 4:
429
+ description: Call barred by user
430
+ resolution: You should remove this phone number from your database. If the user wants to receive messages from you, they need to contact their carrier directly.
431
+
432
+ 5:
433
+ description: Portability error. There is an issue after the user has changed carrier for `to`
434
+ resolution: If the user wants to receive messages from you, they need to contact their carrier directly.
435
+
436
+ 6:
437
+ description: Anti-Spam rejection. Carriers often apply restrictions that block messages following different criteria. For example, on SenderID or message content
438
+ resolution: If you believe that your message is being blocked incorrectly, either email us at support@nexmo.com or create a helpdesk ticket at https://help.nexmo.com
439
+
440
+ 7:
441
+ description: Handset busy. The handset associated with to was not available when this message was sent.
442
+ resolution: If status is Failed, this is a temporary failure; retry later for a positive result. If status is Accepted, this message has is in the retry scheme and will be resent until it expires in 24-48 hours.
443
+
444
+ 8:
445
+ description: Network error. A network failure occured while sending your message
446
+ resolution: This is a temporary failure, retry later for a positive result.
447
+
448
+ 9:
449
+ description: Insufficent funds. `To`’s pre-paid account does not have enough credit to receive the message.
450
+ resolution: The `to` number must top up, then you can retry sending the message
451
+
452
+ 10:
453
+ description: The message could not be sent because one of the parameters in the message was incorrect. For example, incorrect type or udh.
454
+ resolution: Check your outbound request and try again
455
+ link:
456
+ text: View API reference
457
+ url: /api/sms#send-an-sms
458
+
459
+ 11:
460
+ description: The chosen route to send your message is not available. This is because the phone number is either currently on an unsupported network or on a pre-paid or reseller account that could not receive a message sent by `from`.
461
+ resolution: Either email us at support@nexmo.com or create a helpdesk ticket at https://help.nexmo.com
462
+
463
+ 12:
464
+ description: Desintation unreachable. The message could not be delivered to the phone number.
465
+ resolution: Check that your `to` number is valid. Make sure to use the country prefix (e.g. `44` for the UK) and not a `0`
466
+
467
+ 13:
468
+ description: The carrier blocked this message because the content is not suitable for `to` based on age restrictions.)
469
+ resolution: N/A
470
+
471
+ 14:
472
+ description: The carrier blocked this message. This could be due to several reasons. For example, `to`'s plan does not include SMS or the account is suspended.
473
+ resolution: N/A
474
+
475
+ 15:
476
+ description: You tried to send a message to a blacklisted phone number. That is, the user has already sent a STOP opt-out message and no longer wishes to receive messages from you.
477
+ resolution: N/A
478
+
479
+ 99:
480
+ description: There is a problem with the chosen route to send your message
481
+ resolution: To resolve this issue either email us at support@nexmo.com or create a helpdesk ticket at https://help.nexmo.com.
@@ -12,6 +12,35 @@ info:
12
12
  email: ea-support@nexmo.com
13
13
  x-label: Developer Preview
14
14
  paths:
15
+ /legs:
16
+ get:
17
+ x-swagger-router-controller: listLegs
18
+ operationId: listLegs
19
+ x-group: leg
20
+ summary: List legs
21
+ responses:
22
+ '200':
23
+ $ref: '#/components/responses/LegsListed'
24
+ '400':
25
+ $ref: '#/components/responses/ValidationError'
26
+ '/legs/{leg_id}':
27
+ parameters:
28
+ - name: leg_id
29
+ in: path
30
+ required: true
31
+ description: Leg ID
32
+ schema:
33
+ type: string
34
+ delete:
35
+ x-swagger-router-controller: deleteLeg
36
+ operationId: deleteLeg
37
+ x-group: leg
38
+ summary: Delete a leg
39
+ responses:
40
+ '200':
41
+ $ref: '#/components/responses/Success'
42
+ '400':
43
+ $ref: '#/components/responses/ClientError'
15
44
  /conversations:
16
45
  post:
17
46
  x-swagger-router-controller: createConversation
@@ -332,6 +361,12 @@ paths:
332
361
  $ref: '#/components/responses/FoundList'
333
362
  components:
334
363
  responses:
364
+ LegsListed:
365
+ description: List Legs Succesfully
366
+ content:
367
+ application/json:
368
+ schema:
369
+ $ref: '#/components/schemas/LegsListed'
335
370
  ConversationUpdated:
336
371
  description: Create / Update Conversation Successfully
337
372
  content:
@@ -519,6 +554,86 @@ components:
519
554
  schema:
520
555
  $ref: '#/components/schemas/UserDetails'
521
556
  schemas:
557
+ Leg:
558
+ discriminator:
559
+ propertyName: Leg
560
+ type: object
561
+ description: Leg
562
+ properties:
563
+ uuid:
564
+ type: string
565
+ description: Leg ID
566
+ type:
567
+ type: string
568
+ conversation_uuid:
569
+ type: string
570
+ status:
571
+ type: string
572
+ from:
573
+ type: string
574
+ to:
575
+ type: string
576
+ direction:
577
+ type: string
578
+ rate:
579
+ type: string
580
+ price:
581
+ type: string
582
+ duration:
583
+ type: string
584
+ network:
585
+ type: string
586
+ start_time:
587
+ type: string
588
+ end_time:
589
+ type: string
590
+ required:
591
+ - uuid
592
+ - type
593
+ - start_time
594
+ - end_time
595
+ Legs:
596
+ discriminator:
597
+ propertyName: Legs
598
+ type: object
599
+ description: Legs Object
600
+ properties:
601
+ count:
602
+ type: number
603
+ description: Count
604
+ page_size:
605
+ type: number
606
+ record_index:
607
+ type: number
608
+ _links:
609
+ type: object
610
+ properties:
611
+ self:
612
+ type: object
613
+ properties:
614
+ href:
615
+ type: string
616
+ _embedded:
617
+ type: object
618
+ properties:
619
+ legs:
620
+ type: object
621
+ properties:
622
+ _links:
623
+ type: array
624
+ items:
625
+ allOf:
626
+ - $ref: '#/components/schemas/Leg'
627
+ - type: object
628
+ properties:
629
+ _links:
630
+ type: object
631
+ properties:
632
+ self:
633
+ type: object
634
+ properties:
635
+ href:
636
+ type: string
522
637
  CreateConversation:
523
638
  discriminator:
524
639
  propertyName: CreateConversation
@@ -532,22 +647,8 @@ components:
532
647
  not provided, one will be automatically generated.
533
648
  display_name:
534
649
  type: string
535
- image_url:
536
- type: string
537
- numbers:
538
- type: object
539
- properties:
540
- pstn:
541
- type: string
542
- sms:
543
- type: string
544
- sip:
545
- type: string
546
- properties:
547
- type: object
548
- properties:
549
- ttl:
550
- type: string
650
+ description: The display name of the conversation
651
+
551
652
  required:
552
653
  - display_name
553
654
  - image_url
@@ -579,22 +680,7 @@ components:
579
680
  not provided, one will be automatically generated.
580
681
  display_name:
581
682
  type: string
582
- image_url:
583
- type: string
584
- numbers:
585
- type: object
586
- properties:
587
- pstn:
588
- type: string
589
- sms:
590
- type: string
591
- sip:
592
- type: string
593
- properties:
594
- type: object
595
- properties:
596
- ttl:
597
- type: string
683
+
598
684
  Conversation:
599
685
  discriminator:
600
686
  propertyName: Conversation
@@ -609,30 +695,14 @@ components:
609
695
  description: Conversation Name
610
696
  display_name:
611
697
  type: string
612
- description: Display Name
613
- image_url:
614
- type: string
615
- description: Display Name
698
+ description: The display name of the conversation
616
699
  timestamp:
617
700
  type: string
618
- description: Display Name
701
+ description: time when conversation was created
619
702
  sequence_number:
620
703
  type: string
621
- description: Display Name
622
- numbers:
623
- type: object
624
- properties:
625
- pstn:
626
- type: string
627
- sms:
628
- type: string
629
- sip:
630
- type: string
631
- properties:
632
- type: object
633
- properties:
634
- ttl:
635
- type: string
704
+ description: the last event id
705
+
636
706
  members:
637
707
  type: array
638
708
  items:
@@ -667,12 +737,15 @@ components:
667
737
  properties:
668
738
  name:
669
739
  type: string
740
+ description: Unique name (within the same application) for the conversation.
670
741
  date_start:
671
742
  type: string
672
743
  format: dateTime
744
+ description: Return the records that occurred after this point in time.
673
745
  date_end:
674
746
  type: string
675
747
  format: dateTime
748
+ description: Return the records that occurred at this point in time.
676
749
  page_size:
677
750
  type: number
678
751
  minimum: 1
@@ -682,6 +755,7 @@ components:
682
755
  minimum: 0
683
756
  order:
684
757
  type: string
758
+ description: Return the records that in ascending or descending order.
685
759
  enum:
686
760
  - asc
687
761
  - desc
@@ -691,16 +765,21 @@ components:
691
765
  discriminator:
692
766
  propertyName: ConversationsListed
693
767
  type: object
694
- description: List Conversations Response Payload Object
768
+ description: List Conversations Response Payload Object.
695
769
  properties:
696
770
  count:
697
771
  type: number
772
+ description: The total number of records returned by your request.
698
773
  page_size:
699
774
  type: number
775
+ description: The amount of records returned in this response.
776
+
700
777
  record_index:
701
778
  type: number
779
+ description: Return page_size calls from this index in the response. That is, if your request returns 300 concersations, set record_index to 5 in order to return calls 50 to 59. The default value is 0. That is, the first page_size calls.
702
780
  _links:
703
781
  type: object
782
+ description: A series of links between resources in this API in the http://stateless.co/hal_specification.html.
704
783
  properties:
705
784
  self:
706
785
  type: object
@@ -737,6 +816,56 @@ components:
737
816
  - record_index
738
817
  - _links
739
818
  - _embedded
819
+ LegsListed:
820
+ discriminator:
821
+ propertyName: LegsListed
822
+ type: object
823
+ description: List Legs Response Payload Object
824
+ properties:
825
+ count:
826
+ type: number
827
+ page_size:
828
+ type: number
829
+ record_index:
830
+ type: number
831
+ _links:
832
+ type: object
833
+ properties:
834
+ self:
835
+ type: object
836
+ properties:
837
+ href:
838
+ type: string
839
+ required:
840
+ - href
841
+ required:
842
+ - self
843
+ _embedded:
844
+ type: object
845
+ properties:
846
+ conversations:
847
+ type: array
848
+ items:
849
+ type: object
850
+ properties:
851
+ uuid:
852
+ type: string
853
+ name:
854
+ type: string
855
+ href:
856
+ type: string
857
+ required:
858
+ - uuid
859
+ - name
860
+ - href
861
+ required:
862
+ - legs
863
+ required:
864
+ - count
865
+ - page_size
866
+ - record_index
867
+ - _links
868
+ - _embedded
740
869
  CreateDeviceObject:
741
870
  discriminator:
742
871
  propertyName: CreateDeviceObject
@@ -792,6 +921,7 @@ components:
792
921
  description: Event ID
793
922
  timestamp:
794
923
  type: string
924
+ description: time when event was created
795
925
  href:
796
926
  type: string
797
927
  EventRetrieved:
@@ -1309,3 +1439,11 @@ x-groups:
1309
1439
  schema:
1310
1440
  application/json:
1311
1441
  $ref: '#/components/schemas/EventCreated'
1442
+ leg:
1443
+ name: "Leg"
1444
+ order: 4
1445
+ description: >-
1446
+ A leg can be a video call, IP call, or PSTN call that users participate in using multiple platforms. With this endpoint you can retrieve the details about all of the legs that took place in your application.
1447
+ schema:
1448
+ application/json:
1449
+ $ref: '#/components/schemas/Leg'
@@ -208,35 +208,53 @@ Generic, like a 200 used in most cases when no more specific code applies. More
208
208
  ### Error Messages
209
209
  Any non 200 response body should follow a standard format. This should be consistent for all products, as an error may be product specific (invalid parameters) or global in nature (invalid authorization). The [HTTP Problem draft][http_problem], specifically the [JSON Object][http-problem-object] provide a familiar format used by other APIs that provides a set of standard properties while allowing additional properties when needed for a particular error condition.
210
210
 
211
- Stealing the the examples from the draft:
211
+ This is the minimum required in a response:
212
+
212
213
  ```
213
214
  HTTP/1.1 403 Forbidden
214
215
  Content-Type: application/problem+json
215
216
  Content-Language: en
216
217
  {
217
218
  "type": "https://example.com/Error#out-of-credit",
218
- "detail": "Your current balance is 30, but that costs 50.",
219
- "instance": "/account/12345/msgs/abc",
220
- "balance": 30,
221
- "accounts": ["/account/12345",
222
- "/account/67890"]
219
+ "title": "You do not have enough credit",
220
+ "instance": "<trace_id>"
221
+ }
222
+ ```
223
+
224
+ In some cases, you may wish to add additional detail to the error by adding a `detail` key
225
+
226
+ ```
227
+ HTTP/1.1 403 Forbidden
228
+ Content-Type: application/problem+json
229
+ Content-Language: en
230
+ {
231
+ "type": "https://example.com/Error#out-of-credit",
232
+ "title": "You do not have enough credit",
233
+ "detail": "Your current balance is 30, but that costs 50.",
234
+ "instance": "<trace_id>"
223
235
  }
224
236
  ```
237
+
238
+ If there are lots of errors, you may choose to return them as structured data. In this case, you would not return `detail`, but instead add a new key at the top level and put the data inside that (see below for a list of additional keys). In this case, we're returning a set of validation errors:
239
+
225
240
  ```
226
241
  HTTP/1.1 400 Bad Request
227
242
  Content-Type: application/problem+json
228
243
  Content-Language: en
229
244
  {
230
- "type": "https://example.net/validation-error",
231
- "title": "Your request parameters didn't validate.",
232
- "invalid_parameters": [ {
233
- "name": "age",
234
- "reason": "must be a positive integer"
235
- },
236
- {
237
- "name": "color",
238
- "reason": "must be 'green', 'red' or 'blue'"}
239
- ]
245
+ "type": "https://example.net/validation-error",
246
+ "title": "Your request parameters didn't validate.",
247
+ "instance": "<trace_id>",
248
+ "invalid_parameters": [
249
+ {
250
+ "name": "age",
251
+ "reason": "must be a positive integer"
252
+ },
253
+ {
254
+ "name": "color",
255
+ "reason": "must be 'green', 'red' or 'blue'"
256
+ }
257
+ ]
240
258
  }
241
259
  ```
242
260
 
@@ -244,6 +262,18 @@ Following REST patterns, `type` is both the identifier for the specific error (U
244
262
  `type`, `title`, `status`, `detail`, and `instance` [are the standard properties][http-problem-properties], as the example shows additional properties can be added if relevant to the error.
245
263
  Note that this means a single response can not contain both a success and a failure (or even two failures that are significant enough to require two different high level problems).
246
264
 
265
+ To keep things consistent, only the following additional keys are available:
266
+
267
+ | Key | Example value |
268
+ |--------------------|----------------------------------------------------------|
269
+ | invalid_parameters | [{"name": "age","reason": "must be a positive integer"}] |
270
+
271
+ If you require an additional key, raise a pull request against this file with the new key and example value
272
+
273
+ Error messages should be clear and instructive: as best as you can, tell the developer what they need to fix about their request to make it successful.
274
+
275
+ Error messages MUST not reveal underlying implementation details (e.g. parser state, class/package names). This is both unhelpful (it tells the user what is wrong with the server's software rather than what is wrong with their request) and also potentially leaks valuable information that would enable a malicious actor to break the security of the system.
276
+
247
277
  ### Collection and Links
248
278
  - [HAL-JSON][hal] provides a consistent format supported by consumer and provider tooling. [Current Draft][hal-draft]
249
279
  - Allows resources to be embedded using an `_embedded` property (with a distinguishing key).
@@ -268,13 +298,19 @@ All new API's shall adhere to the principles of REST (http://www.ics.uci.edu/~fi
268
298
  - Collections are the collective term for Resources e.g. member
269
299
  - Resources are nouns not verbs
270
300
  - Collections are plurals
271
- - Use HTTP methods to map CRUD actions on Resources i.e. POST creates a new Resources in a Collection, DELETE removes a Resource, GET lists Resources and PUT changes a Resource
301
+ - Use HTTP methods to map CRUD actions on Resources i.e.
302
+ - POST creates a new Resources in a Collection
303
+ - DELETE removes a Resource
304
+ - GET lists Resources
305
+ - PUT replaces a complete Resource
306
+ - PATCH partially updates a Resource
272
307
 
273
308
  #### Examples
274
309
  - `GET members/` - lists all the resources of the collection members
275
310
  - `GET members/bob` - lists the details of bob who is a resources of the collection members
276
- - `POST members/harry` - create a new member called Harry
277
- - `PUT members/harry/phone` - update Harry's phone number
311
+ - `POST members -d '{"name": "Harry", "age": 22, "phone_number": "14155550100"}'` - create a new member called Harry
312
+ - `PUT members/harry -d '{"name": "Harry", "age": 23, "phone_number": "14155550100"}'` - replace all of Harry's details
313
+ - `PATCH members/harry -d '{"age": 23}'` - update Harry's age only
278
314
  - `DELETE members/steve` - remove the member Steve from the collection
279
315
 
280
316
  ### Pagination
@@ -1,3 +1,3 @@
1
1
  module NexmoApiSpecification
2
- VERSION = '0.11.1'.freeze
2
+ VERSION = '0.11.4'.freeze
3
3
  end
data/ncco-schema.json CHANGED
@@ -300,6 +300,11 @@
300
300
  "mp3",
301
301
  "wav"
302
302
  ]
303
+ },
304
+ "split": {
305
+ "enum" : [
306
+ "conversation"
307
+ ]
303
308
  },
304
309
  "endOnSilence": {
305
310
  "type": "integer",
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.11.1
4
+ version: 0.11.4
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-03-05 00:00:00.000000000 Z
11
+ date: 2018-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  version: '0'
97
97
  requirements: []
98
98
  rubyforge_project:
99
- rubygems_version: 2.6.11
99
+ rubygems_version: 2.6.8
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Provides Open API Spec 3 definitions for Nexmo APIs