freeclimb 4.4.0 → 4.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -2
  3. data/Gemfile.lock +1 -1
  4. data/README.md +4 -4
  5. data/docs/AddToConference.md +1 -1
  6. data/docs/AddToConferenceAllOf.md +1 -1
  7. data/lib/freeclimb/models/add_to_conference.rb +1 -1
  8. data/lib/freeclimb/models/add_to_conference_all_of.rb +1 -1
  9. data/lib/freeclimb/version.rb +1 -1
  10. data/openapi.json +161 -60
  11. data/spec/models/account_request_spec.rb +143 -2
  12. data/spec/models/account_result_spec.rb +377 -13
  13. data/spec/models/account_status_spec.rb +39 -6
  14. data/spec/models/account_type_spec.rb +26 -4
  15. data/spec/models/add_to_conference_spec.rb +343 -10
  16. data/spec/models/answered_by_spec.rb +26 -4
  17. data/spec/models/application_list_spec.rb +293 -8
  18. data/spec/models/application_request_spec.rb +268 -7
  19. data/spec/models/application_result_spec.rb +418 -13
  20. data/spec/models/available_number_list_spec.rb +293 -8
  21. data/spec/models/available_number_spec.rb +263 -7
  22. data/spec/models/buy_incoming_number_request_spec.rb +168 -3
  23. data/spec/models/call_direction_spec.rb +39 -6
  24. data/spec/models/call_list_spec.rb +293 -8
  25. data/spec/models/call_result_spec.rb +603 -22
  26. data/spec/models/call_status_spec.rb +104 -16
  27. data/spec/models/capabilities_spec.rb +218 -5
  28. data/spec/models/conference_list_spec.rb +293 -8
  29. data/spec/models/conference_participant_list_spec.rb +293 -8
  30. data/spec/models/conference_participant_result_spec.rb +343 -10
  31. data/spec/models/conference_result_spec.rb +464 -16
  32. data/spec/models/conference_status_spec.rb +52 -8
  33. data/spec/models/create_conference_request_spec.rb +228 -6
  34. data/spec/models/create_conference_spec.rb +253 -7
  35. data/spec/models/enqueue_spec.rb +193 -4
  36. data/spec/models/filter_logs_request_spec.rb +118 -1
  37. data/spec/models/get_digits_spec.rb +318 -9
  38. data/spec/models/get_speech_reason_spec.rb +78 -12
  39. data/spec/models/get_speech_spec.rb +388 -14
  40. data/spec/models/grammar_file_built_in_spec.rb +195 -30
  41. data/spec/models/grammar_type_spec.rb +26 -4
  42. data/spec/models/hangup_spec.rb +118 -1
  43. data/spec/models/if_machine_spec.rb +26 -4
  44. data/spec/models/incoming_number_list_spec.rb +293 -8
  45. data/spec/models/incoming_number_request_spec.rb +173 -2
  46. data/spec/models/incoming_number_result_spec.rb +488 -16
  47. data/spec/models/language_spec.rb +338 -52
  48. data/spec/models/log_level_spec.rb +39 -6
  49. data/spec/models/log_list_spec.rb +293 -8
  50. data/spec/models/log_result_spec.rb +275 -8
  51. data/spec/models/machine_type_spec.rb +26 -4
  52. data/spec/models/make_call_request_spec.rb +343 -10
  53. data/spec/models/message_direction_spec.rb +26 -4
  54. data/spec/models/message_request_spec.rb +318 -9
  55. data/spec/models/message_result_spec.rb +431 -13
  56. data/spec/models/message_status_spec.rb +143 -22
  57. data/spec/models/messages_list_spec.rb +293 -8
  58. data/spec/models/mutable_resource_model_spec.rb +193 -4
  59. data/spec/models/out_dial_spec.rb +345 -11
  60. data/spec/models/pagination_model_spec.rb +268 -7
  61. data/spec/models/park_spec.rb +168 -3
  62. data/spec/models/pause_spec.rb +118 -1
  63. data/spec/models/percl_command_spec.rb +132 -3
  64. data/spec/models/percl_script_spec.rb +118 -1
  65. data/spec/models/play_beep_spec.rb +52 -8
  66. data/spec/models/play_early_media_spec.rb +118 -1
  67. data/spec/models/play_spec.rb +193 -4
  68. data/spec/models/queue_list_spec.rb +293 -8
  69. data/spec/models/queue_member_list_spec.rb +293 -8
  70. data/spec/models/queue_member_spec.rb +218 -5
  71. data/spec/models/queue_request_spec.rb +143 -2
  72. data/spec/models/queue_result_spec.rb +369 -11
  73. data/spec/models/queue_result_status_spec.rb +52 -8
  74. data/spec/models/record_utterance_spec.rb +268 -7
  75. data/spec/models/record_utterance_term_reason_spec.rb +52 -8
  76. data/spec/models/recording_list_spec.rb +293 -8
  77. data/spec/models/recording_result_spec.rb +318 -9
  78. data/spec/models/redirect_spec.rb +118 -1
  79. data/spec/models/reject_spec.rb +118 -1
  80. data/spec/models/remove_from_conference_spec.rb +118 -1
  81. data/spec/models/request_type_spec.rb +299 -46
  82. data/spec/models/say_spec.rb +218 -5
  83. data/spec/models/send_digits_spec.rb +168 -3
  84. data/spec/models/set_listen_spec.rb +143 -2
  85. data/spec/models/set_talk_spec.rb +143 -2
  86. data/spec/models/sms_spec.rb +193 -4
  87. data/spec/models/sms_ten_dlc_brand_spec.rb +1070 -64
  88. data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +294 -9
  89. data/spec/models/sms_ten_dlc_campaign_spec.rb +875 -38
  90. data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +294 -9
  91. data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +365 -11
  92. data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +823 -35
  93. data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +294 -9
  94. data/spec/models/terminate_conference_spec.rb +118 -1
  95. data/spec/models/update_call_request_spec.rb +120 -2
  96. data/spec/models/update_call_request_status_spec.rb +26 -4
  97. data/spec/models/update_conference_participant_request_spec.rb +143 -2
  98. data/spec/models/update_conference_request_spec.rb +180 -5
  99. data/spec/models/update_conference_request_status_spec.rb +26 -4
  100. metadata +77 -77
data/openapi.json CHANGED
@@ -85,6 +85,7 @@
85
85
  "type": "string",
86
86
  "enum": ["closed", "suspended", "active"],
87
87
  "x-enum-varnames": ["CLOSED", "SUSPENDED", "ACTIVE"],
88
+ "x-enum": true,
88
89
  "description": "The status of this account. It is one of: active, suspended, or closed.",
89
90
  "nullable": true
90
91
  },
@@ -92,6 +93,7 @@
92
93
  "type": "string",
93
94
  "description": "The type of this account. It is one of: trial or full.",
94
95
  "enum": ["trial", "full"],
96
+ "x-enum": true,
95
97
  "x-enum-varnames": ["TRIAL", "FULL"],
96
98
  "nullable": true
97
99
  },
@@ -100,6 +102,7 @@
100
102
  "nullable": true,
101
103
  "enum": ["human", "machine"],
102
104
  "x-enum-varnames": ["HUMAN", "MACHINE"],
105
+ "x-enum": true,
103
106
  "description": "If this Call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise."
104
107
  },
105
108
  "CallDirection": {
@@ -107,6 +110,7 @@
107
110
  "nullable": true,
108
111
  "enum": ["inbound", "outboundAPI", "outboundDial"],
109
112
  "x-enum-varnames": ["INBOUND", "OUTBOUND_API", "OUTBOUND_DIAL"],
113
+ "x-enum": true,
110
114
  "description": "Direction of the Call. `inbound` for Calls into FreeClimb, `outboundAPI` for Calls initiated via the REST API, `outboundDial` for Calls initiated by the `OutDial` PerCL command."
111
115
  },
112
116
  "CallStatus": {
@@ -132,6 +136,7 @@
132
136
  "BUSY",
133
137
  "NO_ANSWER"
134
138
  ],
139
+ "x-enum": true,
135
140
  "description": "* `queued` – Call is ready and waiting in line before going out. * `ringing` – Call is currently ringing. * `inProgress` – Call was answered and is currently in progress. * `canceled` – Call was hung up while it was queued or ringing. * `completed` – Call was answered and has ended normally. * `busy` – Caller received a busy signal. * `failed` – Call could not be completed as dialed, most likely because the phone number was non-existent. * `noAnswer` – Call ended without being answered."
136
141
  },
137
142
  "ConferenceStatus": {
@@ -139,6 +144,7 @@
139
144
  "nullable": true,
140
145
  "enum": ["empty", "populated", "inProgress", "terminated"],
141
146
  "x-enum-varnames": ["EMPTY", "POPULATED", "IN_PROGRESS", "TERMINATED"],
147
+ "x-enum": true,
142
148
  "description": "The status of the Conference. One of: creating, empty, populated, inProgress, or terminated."
143
149
  },
144
150
  "GetSpeechReason": {
@@ -158,7 +164,8 @@
158
164
  "NO_INPUT",
159
165
  "NO_MATCH",
160
166
  "RECOGNITION"
161
- ]
167
+ ],
168
+ "x-enum": true
162
169
  },
163
170
  "GrammarFileBuiltIn": {
164
171
  "type": "string",
@@ -195,19 +202,22 @@
195
202
  "DIG11",
196
203
  "UP_TO_20_DIGIT_SEQUENCE",
197
204
  "VERSAY_YESNO"
198
- ]
205
+ ],
206
+ "x-enum": true
199
207
  },
200
208
  "GrammarType": {
201
209
  "type": "string",
202
210
  "enum": ["URL", "BUILTIN"],
203
211
  "nullable": true,
204
212
  "x-enum-varnames": ["URL", "BUILT_IN"],
213
+ "x-enum": true,
205
214
  "description": "The grammar file type to use for speech recognition. A value of 'URL' indicates the grammarFile attribute specifies a URL that points to the grammar file. A value of `BUILTIN` indicates the grammarFile attribute specifies the name of one of the platform built-in grammar files."
206
215
  },
207
216
  "IfMachine": {
208
217
  "type": "string",
209
218
  "enum": ["redirect", "hangup"],
210
219
  "x-enum-varnames": ["REDIRECT", "HANGUP"],
220
+ "x-enum": true,
211
221
  "description": "Specifies how FreeClimb should handle this OutDial if an answering machine answers the Call. Valid values: `redirect` invokes the ifMachineUrl for instructions. `hangup` hangs up the Call. The ifMachineUrl will not be invoked."
212
222
  },
213
223
  "Language": {
@@ -267,24 +277,28 @@
267
277
  "CHINESE_CN",
268
278
  "CHINESE_HK",
269
279
  "CHINESE_TW"
270
- ]
280
+ ],
281
+ "x-enum": true
271
282
  },
272
283
  "LogLevel": {
273
284
  "type": "string",
274
285
  "enum": ["info", "warning", "error"],
275
286
  "nullable": true,
276
287
  "x-enum-varnames": ["INFO", "WARNING", "ERROR"],
288
+ "x-enum": true,
277
289
  "description": "Level of the log. Possible values are info, warning, and error."
278
290
  },
279
291
  "MachineType": {
280
292
  "type": "string",
281
293
  "enum": ["answeringMachine", "faxMachine"],
282
- "x-enum-varnames": ["ANSWERING_MACHINE", "FAX_MACHINE"]
294
+ "x-enum-varnames": ["ANSWERING_MACHINE", "FAX_MACHINE"],
295
+ "x-enum": true
283
296
  },
284
297
  "MessageDirection": {
285
298
  "type": "string",
286
299
  "enum": ["inbound", "outbound"],
287
- "x-enum-varnames": ["INBOUND", "OUTBOUND"]
300
+ "x-enum-varnames": ["INBOUND", "OUTBOUND"],
301
+ "x-enum": true
288
302
  },
289
303
  "MessageStatus": {
290
304
  "type": "string",
@@ -315,13 +329,15 @@
315
329
  "EXPIRED",
316
330
  "DELETED",
317
331
  "UNKNOWN"
318
- ]
332
+ ],
333
+ "x-enum": true
319
334
  },
320
335
  "PlayBeep": {
321
336
  "type": "string",
322
337
  "nullable": true,
323
338
  "enum": ["always", "never", "entryOnly", "exitOnly"],
324
339
  "x-enum-varnames": ["ALWAYS", "NEVER", "ENTRY_ONLY", "EXIT_ONLY"],
340
+ "x-enum": true,
325
341
  "description": "Indicates whether to play a beep when a Participant enters or leaves the Conference. either `always`, `never`, `entryOnly`, or `exitOnly`. Leaving this unset will make conference default to `always` ",
326
342
  "default": "always",
327
343
  "x-enum-default-attr": "ALWAYS"
@@ -329,12 +345,14 @@
329
345
  "QueueResultStatus": {
330
346
  "type": "string",
331
347
  "enum": ["queueFull", "dequeued", "hangup", "systemError"],
332
- "x-enum-varnames": ["QUEUE_FULL", "DEQUEUED", "HANGUP", "SYSTEM_ERROR"]
348
+ "x-enum-varnames": ["QUEUE_FULL", "DEQUEUED", "HANGUP", "SYSTEM_ERROR"],
349
+ "x-enum": true
333
350
  },
334
351
  "RecordUtteranceTermReason": {
335
352
  "type": "string",
336
353
  "enum": ["finishKey", "timeout", "hangup", "maxLength"],
337
- "x-enum-varnames": ["FINISH_KEY", "TIMEOUT", "HANGUP", "MAX_LENGTH"]
354
+ "x-enum-varnames": ["FINISH_KEY", "TIMEOUT", "HANGUP", "MAX_LENGTH"],
355
+ "x-enum": true
338
356
  },
339
357
  "RequestType": {
340
358
  "type": "string",
@@ -387,18 +405,21 @@
387
405
  "CONFERENCE_CALL_CONTROL",
388
406
  "MESSAGE_DELIVERY",
389
407
  "MESSAGE_STATUS"
390
- ]
408
+ ],
409
+ "x-enum": true
391
410
  },
392
411
  "UpdateCallRequestStatus": {
393
412
  "type": "string",
394
413
  "enum": ["canceled", "completed"],
395
414
  "x-enum-varnames": ["CANCELED", "COMPLETED"],
415
+ "x-enum": true,
396
416
  "description": "Either `canceled` or `completed`. Specifying `canceled` attempts to hang up calls that are queued without affecting calls already in progress. Specifying `completed` attempts to hang up a call already in progress."
397
417
  },
398
418
  "UpdateConferenceRequestStatus": {
399
419
  "type": "string",
400
420
  "enum": ["empty", "terminated"],
401
421
  "x-enum-varnames": ["EMPTY", "TERMINATED"],
422
+ "x-enum": true,
402
423
  "description": "New status of the conference. Valid values: `empty` or `terminated`. For more information, see **Status Parameter** below.**"
403
424
  },
404
425
  "PerclScript": {
@@ -409,6 +430,7 @@
409
430
  "commands": {
410
431
  "type": "array",
411
432
  "description": "A JSON array of PerCL commands",
433
+ "x-is-list": true,
412
434
  "items": {
413
435
  "$ref": "#/components/schemas/PerclCommand"
414
436
  }
@@ -484,7 +506,7 @@
484
506
  },
485
507
  "callId": {
486
508
  "description": "ID of the Call that will be added to the specified Conference. The Call must be in progress or an error will result. If the Call is part of an existing Conference, it is first removed from that Conference and is then moved to the new one.",
487
- "type": "boolean"
509
+ "type": "string"
488
510
  },
489
511
  "leaveConferenceUrl": {
490
512
  "description": "URL to be invoked when the Participant leaves the Conference. ",
@@ -551,6 +573,7 @@
551
573
  "Dequeue": {
552
574
  "description": "The `Dequeue` command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. Execution continues with the first command in the PerCL script returned by the `actionUrl` specified in the `Enqueue` command.",
553
575
  "x-percl-command": true,
576
+ "x-no-properties": true,
554
577
  "allOf": [
555
578
  {
556
579
  "$ref": "#/components/schemas/PerclCommand"
@@ -633,6 +656,7 @@
633
656
  "prompts": {
634
657
  "description": "JSON array of PerCL commands to nest within the `GetDigits` command. The `Say`, `Play`, and `Pause` commands can be used. The nested actions are executed while FreeClimb is waiting for input from the Caller.",
635
658
  "type": "array",
659
+ "x-is-list": true,
636
660
  "items": {
637
661
  "$ref": "#/components/schemas/PerclCommand"
638
662
  }
@@ -659,7 +683,8 @@
659
683
  "actionUrl": {
660
684
  "description": "When the caller has finished speaking or the command has timed out, FreeClimb will make a POST request to this URL. A PerCL response is expected to continue handling the call.",
661
685
  "type": "string",
662
- "format": "uri"
686
+ "format": "uri",
687
+ "x-is-uri": true
663
688
  },
664
689
  "grammarType": {
665
690
  "$ref": "#/components/schemas/GrammarType"
@@ -681,7 +706,8 @@
681
706
  "type": "array",
682
707
  "items": {
683
708
  "$ref": "#/components/schemas/PerclCommand"
684
- }
709
+ },
710
+ "x-is-list": true
685
711
  },
686
712
  "noInputTimeoutMs": {
687
713
  "description": "When recognition is started and there is no speech detected for `noInputTimeoutMs` milliseconds, the recognizer will terminate the recognition operation.",
@@ -1130,6 +1156,7 @@
1130
1156
  "StartRecordCall": {
1131
1157
  "description": "The `StartRecordCall` command records the current call and returns the URL of a file containing the audio recording when recording completes. `StartRecordCall` is non-blocking. After recording of the current call begins, control of the call moves to the PerCL command that follows `StartRecordCall` in the current PerCL script.",
1132
1158
  "x-percl-command": true,
1159
+ "x-no-properties": true,
1133
1160
  "allOf": [
1134
1161
  {
1135
1162
  "$ref": "#/components/schemas/PerclCommand"
@@ -1161,6 +1188,7 @@
1161
1188
  "Unpark": {
1162
1189
  "description": "The `Unpark` command resumes a parked call. Execution continues with the first command in the PerCL scripted returned by the actionUrl specified in the Park command as long as the call is still in progress. If the call is no longer in progress, any returned PerCL will not be executed. Unpark is a terminal command -- any commands following it in the same script are not executed.",
1163
1190
  "x-percl-command": true,
1191
+ "x-no-properties": true,
1164
1192
  "allOf": [
1165
1193
  {
1166
1194
  "$ref": "#/components/schemas/PerclCommand"
@@ -1235,6 +1263,7 @@
1235
1263
  "description": "Details for which features this number may be used.",
1236
1264
  "type": "object",
1237
1265
  "required": ["voice", "sms", "tollFree", "tenDLC", "shortCode"],
1266
+ "x-is-object": true,
1238
1267
  "properties": {
1239
1268
  "voice": {
1240
1269
  "description": "Indicates whether a number can be used for voice calls. Replaces voiceEnabled.",
@@ -1428,7 +1457,8 @@
1428
1457
  "items": {
1429
1458
  "$ref": "#/components/schemas/ApplicationResult"
1430
1459
  },
1431
- "nullable": true
1460
+ "nullable": true,
1461
+ "x-is-list": true
1432
1462
  }
1433
1463
  }
1434
1464
  }
@@ -1487,7 +1517,8 @@
1487
1517
  "items": {
1488
1518
  "$ref": "#/components/schemas/AvailableNumber"
1489
1519
  },
1490
- "nullable": true
1520
+ "nullable": true,
1521
+ "x-is-list": true
1491
1522
  }
1492
1523
  }
1493
1524
  }
@@ -1596,7 +1627,8 @@
1596
1627
  "items": {
1597
1628
  "$ref": "#/components/schemas/IncomingNumberResult"
1598
1629
  },
1599
- "nullable": true
1630
+ "nullable": true,
1631
+ "x-is-list": true
1600
1632
  }
1601
1633
  }
1602
1634
  }
@@ -1771,7 +1803,8 @@
1771
1803
  "items": {
1772
1804
  "$ref": "#/components/schemas/CallResult"
1773
1805
  },
1774
- "nullable": true
1806
+ "nullable": true,
1807
+ "x-is-list": true
1775
1808
  }
1776
1809
  }
1777
1810
  }
@@ -1827,7 +1860,8 @@
1827
1860
  "items": {
1828
1861
  "$ref": "#/components/schemas/RecordingResult"
1829
1862
  },
1830
- "nullable": true
1863
+ "nullable": true,
1864
+ "x-is-list": true
1831
1865
  }
1832
1866
  }
1833
1867
  }
@@ -1884,7 +1918,8 @@
1884
1918
  "items": {
1885
1919
  "$ref": "#/components/schemas/LogResult"
1886
1920
  },
1887
- "nullable": true
1921
+ "nullable": true,
1922
+ "x-is-list": true
1888
1923
  }
1889
1924
  }
1890
1925
  }
@@ -1963,7 +1998,8 @@
1963
1998
  "items": {
1964
1999
  "$ref": "#/components/schemas/MessageResult"
1965
2000
  },
1966
- "nullable": true
2001
+ "nullable": true,
2002
+ "x-is-list": true
1967
2003
  }
1968
2004
  }
1969
2005
  }
@@ -2015,7 +2051,8 @@
2015
2051
  "items": {
2016
2052
  "$ref": "#/components/schemas/ConferenceResult"
2017
2053
  },
2018
- "nullable": true
2054
+ "nullable": true,
2055
+ "x-is-list": true
2019
2056
  }
2020
2057
  }
2021
2058
  }
@@ -2178,7 +2215,8 @@
2178
2215
  "items": {
2179
2216
  "$ref": "#/components/schemas/ConferenceParticipantResult"
2180
2217
  },
2181
- "nullable": true
2218
+ "nullable": true,
2219
+ "x-is-list": true
2182
2220
  }
2183
2221
  }
2184
2222
  }
@@ -2259,7 +2297,8 @@
2259
2297
  "items": {
2260
2298
  "$ref": "#/components/schemas/QueueResult"
2261
2299
  },
2262
- "nullable": true
2300
+ "nullable": true,
2301
+ "x-is-list": true
2263
2302
  }
2264
2303
  }
2265
2304
  }
@@ -2308,7 +2347,8 @@
2308
2347
  "items": {
2309
2348
  "$ref": "#/components/schemas/QueueMember"
2310
2349
  },
2311
- "nullable": true
2350
+ "nullable": true,
2351
+ "x-is-list": true
2312
2352
  }
2313
2353
  }
2314
2354
  }
@@ -2337,7 +2377,8 @@
2337
2377
  "items": {
2338
2378
  "$ref": "#/components/schemas/SMSTenDLCCampaign"
2339
2379
  },
2340
- "nullable": true
2380
+ "nullable": true,
2381
+ "x-is-list": true
2341
2382
  }
2342
2383
  }
2343
2384
  }
@@ -2370,22 +2411,23 @@
2370
2411
  },
2371
2412
  "resellerId": {
2372
2413
  "maxLength": 8,
2414
+ "x-max-length-8": true,
2373
2415
  "type": "string",
2374
2416
  "nullable": true,
2375
2417
  "description": "Alphanumeric identifier of the reseller that you want to associate with this campaign."
2376
2418
  },
2377
2419
  "status": {
2378
2420
  "type": "string",
2421
+ "x-has-writer": true,
2379
2422
  "description": "Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. ",
2380
- "enum": [
2381
- "ACTIVE",
2382
- "EXPIRED"
2383
- ]
2423
+ "enum": ["ACTIVE", "EXPIRED"],
2424
+ "x-enum-varnames": ["ACTIVE", "EXPIRED"]
2384
2425
  },
2385
2426
  "createDate": {
2386
2427
  "type": "string",
2387
2428
  "description": "Unix timestamp when campaign was created.",
2388
- "format": "date-time"
2429
+ "format": "date-time",
2430
+ "x-is-date-time": true
2389
2431
  },
2390
2432
  "autoRenewal": {
2391
2433
  "type": "boolean",
@@ -2395,10 +2437,12 @@
2395
2437
  "type": "string",
2396
2438
  "description": "Campaign recent billed date.",
2397
2439
  "format": "date-time",
2440
+ "x-is-date-time": true,
2398
2441
  "nullable": true
2399
2442
  },
2400
2443
  "brandId": {
2401
2444
  "maxLength": 8,
2445
+ "x-max-length-8": true,
2402
2446
  "type": "string",
2403
2447
  "description": "Alphanumeric identifier of the brand associated with this campaign."
2404
2448
  },
@@ -2409,6 +2453,7 @@
2409
2453
  },
2410
2454
  "subUsecases": {
2411
2455
  "uniqueItems": true,
2456
+ "x-is-set": true,
2412
2457
  "type": "array",
2413
2458
  "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/registry/enum/usecase` operation to retrieve list of valid sub-usecases",
2414
2459
  "items": {
@@ -2416,7 +2461,7 @@
2416
2461
  "description": "Campaign sub-usecases. Must be of defined valid sub-usecase types. Use `/registry/enum/usecase` operation to retrieve list of valid sub-usecases"
2417
2462
  }
2418
2463
  },
2419
- "description": {
2464
+ "description": {
2420
2465
  "maxLength": 4096,
2421
2466
  "type": "string",
2422
2467
  "description": "Summary description of this campaign."
@@ -2518,10 +2563,10 @@
2518
2563
  "nullable": true,
2519
2564
  "description": "When the campaign would be due for its next renew/bill date.",
2520
2565
  "format": "date",
2566
+ "x-is-date": true,
2521
2567
  "example": "2000-01-01"
2522
2568
  }
2523
- }
2524
- ,
2569
+ },
2525
2570
  "example": {
2526
2571
  "campaignId": "CX56XX4",
2527
2572
  "accountId": "ACe39970fb7c31c747c67148900b4d9da60a41e532",
@@ -2569,19 +2614,15 @@
2569
2614
  "items": {
2570
2615
  "$ref": "#/components/schemas/SMSTenDLCPartnerCampaign"
2571
2616
  },
2572
- "nullable": true
2617
+ "nullable": true,
2618
+ "x-is-list": true
2573
2619
  }
2574
2620
  }
2575
2621
  }
2576
2622
  ]
2577
2623
  },
2578
2624
  "SMSTenDLCPartnerCampaign": {
2579
- "required": [
2580
- "brandId",
2581
- "campaignId",
2582
- "description",
2583
- "usecase"
2584
- ],
2625
+ "required": ["brandId", "campaignId", "description", "usecase"],
2585
2626
  "type": "object",
2586
2627
  "properties": {
2587
2628
  "accountId": {
@@ -2595,19 +2636,20 @@
2595
2636
  },
2596
2637
  "status": {
2597
2638
  "type": "string",
2639
+ "x-has-writer": true,
2598
2640
  "description": "Current campaign status. Possible values: ACTIVE, EXPIRED. A newly created campaign defaults to ACTIVE status. ",
2599
- "enum": [
2600
- "ACTIVE",
2601
- "EXPIRED"
2602
- ]
2641
+ "enum": ["ACTIVE", "EXPIRED"],
2642
+ "x-enum-varnames": ["ACTIVE", "EXPIRED"]
2603
2643
  },
2604
2644
  "createDate": {
2605
2645
  "type": "string",
2606
2646
  "description": "Unix timestamp when campaign was created.",
2607
- "format": "date-time"
2647
+ "format": "date-time",
2648
+ "x-is-date-time": true
2608
2649
  },
2609
2650
  "brandId": {
2610
2651
  "maxLength": 8,
2652
+ "x-max-length-8": true,
2611
2653
  "type": "string",
2612
2654
  "description": "Alphanumeric identifier of the brand associated with this campaign."
2613
2655
  },
@@ -2729,7 +2771,8 @@
2729
2771
  "description": "Subscriber opt-out message."
2730
2772
  },
2731
2773
  "brand": {
2732
- "$ref": "#/components/schemas/SMSTenDLCPartnerCampaignBrand"
2774
+ "$ref": "#/components/schemas/SMSTenDLCPartnerCampaignBrand",
2775
+ "x-partner-campaign-brand": true
2733
2776
  }
2734
2777
  },
2735
2778
  "example": {
@@ -2775,12 +2818,10 @@
2775
2818
  }
2776
2819
  }
2777
2820
  },
2778
- "SMSTenDLCPartnerCampaignBrand":{
2779
- "required": [
2780
- "email",
2781
- "phone"
2782
- ],
2821
+ "SMSTenDLCPartnerCampaignBrand": {
2822
+ "required": ["email", "phone"],
2783
2823
  "type": "object",
2824
+ "x-is-object": true,
2784
2825
  "properties": {
2785
2826
  "accountId": {
2786
2827
  "type": "string",
@@ -2834,7 +2875,9 @@
2834
2875
  "example": "http://www.abcmobile.com"
2835
2876
  },
2836
2877
  "optionalAttributes": {
2878
+ "x-is-map": true,
2837
2879
  "type": "object",
2880
+ "x-is-hash": true,
2838
2881
  "additionalProperties": {
2839
2882
  "type": "object",
2840
2883
  "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names."
@@ -2860,13 +2903,14 @@
2860
2903
  "items": {
2861
2904
  "$ref": "#/components/schemas/SMSTenDLCBrand"
2862
2905
  },
2863
- "nullable": true
2906
+ "nullable": true,
2907
+ "x-is-list": true
2864
2908
  }
2865
2909
  }
2866
2910
  }
2867
2911
  ]
2868
2912
  },
2869
- "SMSTenDLCBrand":{
2913
+ "SMSTenDLCBrand": {
2870
2914
  "required": [
2871
2915
  "brandRelationship",
2872
2916
  "country",
@@ -2888,6 +2932,7 @@
2888
2932
  "entityType": {
2889
2933
  "maxLength": 20,
2890
2934
  "type": "string",
2935
+ "x-has-writer": true,
2891
2936
  "description": "Entity type behind the brand. This is the form of business establishment.",
2892
2937
  "enum": [
2893
2938
  "PRIVATE_PROFIT",
@@ -2895,6 +2940,13 @@
2895
2940
  "NON_PROFIT",
2896
2941
  "GOVERNMENT",
2897
2942
  "SOLE_PROPRIETOR"
2943
+ ],
2944
+ "x-enum-varnames": [
2945
+ "PRIVATE_PROFIT",
2946
+ "PUBLIC_PROFIT",
2947
+ "NON_PROFIT",
2948
+ "GOVERNMENT",
2949
+ "SOLE_PROPRIETOR"
2898
2950
  ]
2899
2951
  },
2900
2952
  "cspId": {
@@ -2941,7 +2993,8 @@
2941
2993
  "maxLength": 2,
2942
2994
  "type": "string",
2943
2995
  "description": "ISO2 2 characters country code. Example: US - United States",
2944
- "example": "US"
2996
+ "example": "US",
2997
+ "x-max-length-2": true
2945
2998
  },
2946
2999
  "phone": {
2947
3000
  "maxLength": 20,
@@ -2969,12 +3022,14 @@
2969
3022
  },
2970
3023
  "postalCode": {
2971
3024
  "maxLength": 10,
3025
+ "x-max-length-10": true,
2972
3026
  "type": "string",
2973
3027
  "description": "Postal codes. Use 5 digit zipcode for United States",
2974
3028
  "example": "10001"
2975
3029
  },
2976
3030
  "country": {
2977
3031
  "maxLength": 2,
3032
+ "x-max-length-2": true,
2978
3033
  "type": "string",
2979
3034
  "description": "ISO2 2 characters country code. Example: US - United States",
2980
3035
  "example": "US"
@@ -2986,12 +3041,14 @@
2986
3041
  },
2987
3042
  "stockSymbol": {
2988
3043
  "maxLength": 10,
3044
+ "x-max-length-10": true,
2989
3045
  "type": "string",
2990
3046
  "description": "(Required for public company) stock symbol.",
2991
3047
  "example": "ABC"
2992
3048
  },
2993
3049
  "stockExchange": {
2994
3050
  "type": "string",
3051
+ "x-has-writer": true,
2995
3052
  "description": "(Required for public company) stock exchange.",
2996
3053
  "example": "NASDAQ",
2997
3054
  "enum": [
@@ -3022,6 +3079,35 @@
3022
3079
  "TWSE",
3023
3080
  "VSE",
3024
3081
  "OTHER"
3082
+ ],
3083
+ "x-enum-varnames": [
3084
+ "NONE",
3085
+ "NASDAQ",
3086
+ "NYSE",
3087
+ "AMEX",
3088
+ "AMX",
3089
+ "ASX",
3090
+ "B3",
3091
+ "BME",
3092
+ "BSE",
3093
+ "FRA",
3094
+ "ICEX",
3095
+ "JPX",
3096
+ "JSE",
3097
+ "KRX",
3098
+ "LON",
3099
+ "NSE",
3100
+ "OMX",
3101
+ "SEHK",
3102
+ "SGX",
3103
+ "SSE",
3104
+ "STO",
3105
+ "SWX",
3106
+ "SZSE",
3107
+ "TSX",
3108
+ "TWSE",
3109
+ "VSE",
3110
+ "OTHER"
3025
3111
  ]
3026
3112
  },
3027
3113
  "ipAddress": {
@@ -3037,6 +3123,7 @@
3037
3123
  },
3038
3124
  "brandRelationship": {
3039
3125
  "type": "string",
3126
+ "x-has-writer": true,
3040
3127
  "description": "Brand relationship to the CSP",
3041
3128
  "enum": [
3042
3129
  "BASIC_ACCOUNT",
@@ -3044,6 +3131,13 @@
3044
3131
  "MEDIUM_ACCOUNT",
3045
3132
  "LARGE_ACCOUNT",
3046
3133
  "KEY_ACCOUNT"
3134
+ ],
3135
+ "x-enum-varnames": [
3136
+ "BASIC_ACCOUNT",
3137
+ "SMALL_ACCOUNT",
3138
+ "MEDIUM_ACCOUNT",
3139
+ "LARGE_ACCOUNT",
3140
+ "KEY_ACCOUNT"
3047
3141
  ]
3048
3142
  },
3049
3143
  "vertical": {
@@ -3058,12 +3152,9 @@
3058
3152
  },
3059
3153
  "altBusinessIdType": {
3060
3154
  "type": "string",
3061
- "enum": [
3062
- "NONE",
3063
- "DUNS",
3064
- "GIIN",
3065
- "LEI"
3066
- ],
3155
+ "x-has-writer": true,
3156
+ "enum": ["NONE", "DUNS", "GIIN", "LEI"],
3157
+ "x-enum-varnames": ["NONE", "DUNS", "GIIN", "LEI"],
3067
3158
  "description": "The type of the Alternative business identifier"
3068
3159
  },
3069
3160
  "universalEin": {
@@ -3077,7 +3168,9 @@
3077
3168
  "description": "Caller supplied brand reference ID. If supplied, the value must be unique across all submitted brands. Can be used to prevent duplicate brand registrations."
3078
3169
  },
3079
3170
  "optionalAttributes": {
3171
+ "x-is-map": true,
3080
3172
  "type": "object",
3173
+ "x-is-hash": true,
3081
3174
  "additionalProperties": {
3082
3175
  "type": "object",
3083
3176
  "description": "Optional brand attributes. Please refer to GET /enum/optionalAttributeNames for dictionary of optional attribute names."
@@ -3090,18 +3183,26 @@
3090
3183
  },
3091
3184
  "identityStatus": {
3092
3185
  "type": "string",
3186
+ "x-has-writer": true,
3093
3187
  "description": "TCR assessment of the brand identification status.",
3094
3188
  "enum": [
3095
3189
  "SELF_DECLARED",
3096
3190
  "UNVERIFIED",
3097
3191
  "VERIFIED",
3098
3192
  "VETTED_VERIFIED"
3193
+ ],
3194
+ "x-enum-varnames": [
3195
+ "SELF_DECLARED",
3196
+ "UNVERIFIED",
3197
+ "VERIFIED",
3198
+ "VETTED_VERIFIED"
3099
3199
  ]
3100
3200
  },
3101
3201
  "createDate": {
3102
3202
  "type": "string",
3103
3203
  "description": "Unix timestamp when brand was created.",
3104
- "format": "date-time"
3204
+ "format": "date-time",
3205
+ "x-is-date-time": true
3105
3206
  }
3106
3207
  },
3107
3208
  "description": "A brand is a business identity behind the campaign.",