This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch api
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c6040dadd8aa2e8aabf6a81014081c817a382cff
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Sep 16 11:50:26 2020 +0200

    CAMEL-15478: Generated component json for API components to include 
expected information
---
 .../org/apache/camel/component/twilio/twilio.json  | 2718 +++++++++++++++++++-
 .../apache/camel/tooling/model/ComponentModel.java |   27 +-
 .../packaging/EndpointSchemaGeneratorMojo.java     |   15 +-
 3 files changed, 2666 insertions(+), 94 deletions(-)

diff --git 
a/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
 
b/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
index f6bb6c4..1691de8 100644
--- 
a/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
+++ 
b/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
@@ -23,98 +23,2638 @@
     "lenientProperties": false
   },
   "componentProperties": {
-    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by [...]
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the r [...]
-    "basicPropertyBinding": { "kind": "property", "displayName": "Basic 
Property Binding", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, 
"defaultValue": false, "description": "Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities" },
-    "configuration": { "kind": "property", "displayName": "Configuration", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.twilio.TwilioConfiguration", 
"deprecated": false, "secret": false, "description": "To use the shared 
configuration" },
-    "restClient": { "kind": "property", "displayName": "Rest Client", "group": 
"advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "com.twilio.http.TwilioRestClient", "deprecated": false, "secret": 
false, "description": "To use the shared REST client" },
-    "accountSid": { "kind": "property", "displayName": "Account Sid", "group": 
"security", "label": "common,security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "The account SID to use." },
-    "password": { "kind": "property", "displayName": "Password", "group": 
"security", "label": "common,security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "Auth token for the account." },
-    "username": { "kind": "property", "displayName": "Username", "group": 
"security", "label": "common,security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "The account to use." }
+    "bridgeErrorHandler": {
+      "kind": "property",
+      "displayName": "Bridge Error Handler",
+      "group": "consumer",
+      "label": "consumer",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "Allows for bridging the consumer to the Camel routing 
Error Handler, which mean any exceptions occurred while the consumer is trying 
to pickup incoming messages, or the likes, will now be processed as a message 
and handled by the routing Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored."
+    },
+    "lazyStartProducer": {
+      "kind": "property",
+      "displayName": "Lazy Start Producer",
+      "group": "producer",
+      "label": "producer",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "Whether the producer should be started lazy (on the 
first message). By starting lazy you can use this to allow CamelContext and 
routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and starting the [...]
+    },
+    "basicPropertyBinding": {
+      "kind": "property",
+      "displayName": "Basic Property Binding",
+      "group": "advanced",
+      "label": "advanced",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": true,
+      "secret": false,
+      "defaultValue": false,
+      "description": "Whether the component should use basic property binding 
(Camel 2.x) or the newer property binding with additional capabilities"
+    },
+    "configuration": {
+      "kind": "property",
+      "displayName": "Configuration",
+      "group": "advanced",
+      "label": "advanced",
+      "required": false,
+      "type": "object",
+      "javaType": "org.apache.camel.component.twilio.TwilioConfiguration",
+      "deprecated": false,
+      "secret": false,
+      "description": "To use the shared configuration"
+    },
+    "restClient": {
+      "kind": "property",
+      "displayName": "Rest Client",
+      "group": "advanced",
+      "label": "advanced",
+      "required": false,
+      "type": "object",
+      "javaType": "com.twilio.http.TwilioRestClient",
+      "deprecated": false,
+      "secret": false,
+      "description": "To use the shared REST client"
+    },
+    "accountSid": {
+      "kind": "property",
+      "displayName": "Account Sid",
+      "group": "security",
+      "label": "common,security",
+      "required": false,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "secret": true,
+      "description": "The account SID to use."
+    },
+    "password": {
+      "kind": "property",
+      "displayName": "Password",
+      "group": "security",
+      "label": "common,security",
+      "required": false,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "secret": true,
+      "description": "Auth token for the account."
+    },
+    "username": {
+      "kind": "property",
+      "displayName": "Username",
+      "group": "security",
+      "label": "common,security",
+      "required": false,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "secret": true,
+      "description": "The account to use."
+    }
   },
   "properties": {
-    "apiName": { "kind": "path", "displayName": "Api Name", "group": "common", 
"label": "", "required": true, "type": "object", "javaType": 
"org.apache.camel.component.twilio.internal.TwilioApiName", "enum": [ 
"ACCOUNT", "ADDRESS", "APPLICATION", "AVAILABLE_PHONE_NUMBER_COUNTRY", "CALL", 
"CONFERENCE", "CONNECT_APP", "INCOMING_PHONE_NUMBER", "KEY", "MESSAGE", 
"NEW_KEY", "NEW_SIGNING_KEY", "NOTIFICATION", "OUTGOING_CALLER_ID", "QUEUE", 
"RECORDING", "SHORT_CODE", "SIGNING_KEY", "TOKEN", "TR [...]
-    "methodName": { "kind": "path", "displayName": "Method Name", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "enum": [ "create", "delete", "fetch", "read", "update" ], 
"deprecated": false, "deprecationNote": "", "secret": false, 
"configurationClass": "org.apache.camel.component.twilio.TwilioConfiguration", 
"configurationField": "configuration", "description": "What sub operation to 
use for the selected operation" },
-    "inBody": { "kind": "parameter", "displayName": "In Body", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "Sets 
the name of a parameter to be passed in the exchange In Body" },
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
-    "sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send 
Empty Message When Idle", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": 
false, "defaultValue": false, "description": "If the polling consumer did not 
poll any files, you can enable this option to send an empty message (no body) 
instead." },
-    "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "secret": false, "description": "To let the consumer use a 
custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled 
then this option is not in use. By default the consumer will deal with [...]
-    "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation before an Exchange h [...]
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the  [...]
-    "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic 
Property Binding", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the endpoint should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities" },
-    "synchronous": { "kind": "parameter", "displayName": "Synchronous", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": 
"false", "description": "Sets whether synchronous processing should be strictly 
used, or Camel is allowed to use asynchronous processing (if supported)." },
-    "backoffErrorThreshold": { "kind": "parameter", "displayName": "Backoff 
Error Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"secret": false, "description": "The number of subsequent error polls (failed 
due some error) that should happen before the backoffMultipler should kick-in." 
},
-    "backoffIdleThreshold": { "kind": "parameter", "displayName": "Backoff 
Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"secret": false, "description": "The number of subsequent idle polls that 
should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "kind": "parameter", "displayName": "Backoff 
Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, "secret": 
false, "description": "To let the scheduled polling consumer backoff if there 
has been a number of subsequent idles\/errors in a row. The multiplier is then 
the number of polls that will be skipped before the next actual attempt is 
happening again. When this option  [...]
-    "delay": { "kind": "parameter", "displayName": "Delay", "group": 
"scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "secret": false, 
"defaultValue": "500", "description": "Milliseconds before the next poll." },
-    "greedy": { "kind": "parameter", "displayName": "Greedy", "group": 
"scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "If greedy is enabled, then the 
ScheduledPollConsumer will run immediately again, if the previous run polled 1 
or more messages." },
-    "initialDelay": { "kind": "parameter", "displayName": "Initial Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "secret": false, 
"defaultValue": "1000", "description": "Milliseconds before the first poll 
starts." },
-    "repeatCount": { "kind": "parameter", "displayName": "Repeat Count", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "secret": false, 
"defaultValue": "0", "description": "Specifies a maximum limit of number of 
fires. So if you set it to 1, the scheduler will only fire once. If you set it 
to 5, it will only fire five times. A value of zero or negative means fire 
forever." },
-    "runLoggingLevel": { "kind": "parameter", "displayName": "Run Logging 
Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ 
"TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, 
"secret": false, "defaultValue": "TRACE", "description": "The consumer logs a 
start\/complete log line when it polls. This option allows you to configure the 
logging level for that." },
-    "scheduledExecutorService": { "kind": "parameter", "displayName": 
"Scheduled Executor Service", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "object", "javaType": 
"java.util.concurrent.ScheduledExecutorService", "deprecated": false, "secret": 
false, "description": "Allows for configuring a custom\/shared thread pool to 
use for the consumer. By default each consumer has its own single threaded 
thread pool." },
-    "scheduler": { "kind": "parameter", "displayName": "Scheduler", "group": 
"scheduler", "label": "consumer,scheduler", "required": false, "type": 
"object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, 
"defaultValue": "none", "description": "To use a cron scheduler from either 
camel-spring or camel-quartz component. Use value spring or quartz for built in 
scheduler" },
-    "schedulerProperties": { "kind": "parameter", "displayName": "Scheduler 
Properties", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": 
false, "secret": false, "description": "To configure additional properties when 
using a custom scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "kind": "parameter", "displayName": "Start Scheduler", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": "true", "description": "Whether the scheduler should be auto 
started." },
-    "timeUnit": { "kind": "parameter", "displayName": "Time Unit", "group": 
"scheduler", "label": "consumer,scheduler", "required": false, "type": 
"object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", 
"MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], 
"deprecated": false, "secret": false, "defaultValue": "MILLISECONDS", 
"description": "Time unit for initialDelay and delay options." },
-    "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": "true", "description": "Controls if fixed delay or fixed rate 
is used. See ScheduledExecutorService in JDK for details." }
+    "apiName": {
+      "kind": "path",
+      "displayName": "Api Name",
+      "group": "common",
+      "label": "",
+      "required": true,
+      "type": "object",
+      "javaType": "org.apache.camel.component.twilio.internal.TwilioApiName",
+      "enum": [
+        "ACCOUNT",
+        "ADDRESS",
+        "APPLICATION",
+        "AVAILABLE_PHONE_NUMBER_COUNTRY",
+        "CALL",
+        "CONFERENCE",
+        "CONNECT_APP",
+        "INCOMING_PHONE_NUMBER",
+        "KEY",
+        "MESSAGE",
+        "NEW_KEY",
+        "NEW_SIGNING_KEY",
+        "NOTIFICATION",
+        "OUTGOING_CALLER_ID",
+        "QUEUE",
+        "RECORDING",
+        "SHORT_CODE",
+        "SIGNING_KEY",
+        "TOKEN",
+        "TRANSCRIPTION",
+        "VALIDATION_REQUEST",
+        "ADDRESS_DEPENDENT_PHONE_NUMBER",
+        "AVAILABLE_PHONE_NUMBER_COUNTRY_LOCAL",
+        "AVAILABLE_PHONE_NUMBER_COUNTRY_MOBILE",
+        "AVAILABLE_PHONE_NUMBER_COUNTRY_TOLL_FREE",
+        "CALL_FEEDBACK",
+        "CALL_FEEDBACK_SUMMARY",
+        "CALL_NOTIFICATION",
+        "CALL_RECORDING",
+        "CONFERENCE_PARTICIPANT",
+        "INCOMING_PHONE_NUMBER_LOCAL",
+        "INCOMING_PHONE_NUMBER_MOBILE",
+        "INCOMING_PHONE_NUMBER_TOLL_FREE",
+        "MESSAGE_FEEDBACK",
+        "MESSAGE_MEDIA",
+        "QUEUE_MEMBER",
+        "RECORDING_ADD_ON_RESULT",
+        "RECORDING_TRANSCRIPTION",
+        "RECORDING_ADD_ON_RESULT_PAYLOAD",
+        "SIP_CREDENTIAL_LIST",
+        "SIP_DOMAIN",
+        "SIP_IP_ACCESS_CONTROL_LIST",
+        "SIP_CREDENTIAL_LIST_CREDENTIAL",
+        "SIP_DOMAIN_CREDENTIAL_LIST_MAPPING",
+        "SIP_DOMAIN_IP_ACCESS_CONTROL_LIST_MAPPING",
+        "SIP_IP_ACCESS_CONTROL_LIST_IP_ADDRESS",
+        "USAGE_RECORD",
+        "USAGE_TRIGGER",
+        "USAGE_RECORD_ALL_TIME",
+        "USAGE_RECORD_DAILY",
+        "USAGE_RECORD_LAST_MONTH",
+        "USAGE_RECORD_MONTHLY",
+        "USAGE_RECORD_THIS_MONTH",
+        "USAGE_RECORD_TODAY",
+        "USAGE_RECORD_YEARLY",
+        "USAGE_RECORD_YESTERDAY"
+      ],
+      "deprecated": false,
+      "deprecationNote": "",
+      "secret": false,
+      "configurationClass": 
"org.apache.camel.component.twilio.TwilioConfiguration",
+      "configurationField": "configuration",
+      "description": "What kind of operation to perform"
+    },
+    "methodName": {
+      "kind": "path",
+      "displayName": "Method Name",
+      "group": "common",
+      "label": "",
+      "required": true,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "enum": [
+        "create",
+        "delete",
+        "fetch",
+        "read",
+        "update"
+      ],
+      "deprecated": false,
+      "deprecationNote": "",
+      "secret": false,
+      "configurationClass": 
"org.apache.camel.component.twilio.TwilioConfiguration",
+      "configurationField": "configuration",
+      "description": "What sub operation to use for the selected operation"
+    },
+    "inBody": {
+      "kind": "parameter",
+      "displayName": "In Body",
+      "group": "common",
+      "label": "",
+      "required": false,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "secret": false,
+      "description": "Sets the name of a parameter to be passed in the 
exchange In Body"
+    },
+    "bridgeErrorHandler": {
+      "kind": "parameter",
+      "displayName": "Bridge Error Handler",
+      "group": "consumer",
+      "label": "consumer",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "Allows for bridging the consumer to the Camel routing 
Error Handler, which mean any exceptions occurred while the consumer is trying 
to pickup incoming messages, or the likes, will now be processed as a message 
and handled by the routing Error Handler. By default the consumer will use the 
org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be 
logged at WARN or ERROR level and ignored."
+    },
+    "sendEmptyMessageWhenIdle": {
+      "kind": "parameter",
+      "displayName": "Send Empty Message When Idle",
+      "group": "consumer",
+      "label": "consumer",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead."
+    },
+    "exceptionHandler": {
+      "kind": "parameter",
+      "displayName": "Exception Handler",
+      "group": "consumer (advanced)",
+      "label": "consumer,advanced",
+      "required": false,
+      "type": "object",
+      "javaType": "org.apache.camel.spi.ExceptionHandler",
+      "optionalPrefix": "consumer.",
+      "deprecated": false,
+      "secret": false,
+      "description": "To let the consumer use a custom ExceptionHandler. 
Notice if the option bridgeErrorHandler is enabled then this option is not in 
use. By default the consumer will deal with exceptions, that will be logged at 
WARN or ERROR level and ignored."
+    },
+    "exchangePattern": {
+      "kind": "parameter",
+      "displayName": "Exchange Pattern",
+      "group": "consumer (advanced)",
+      "label": "consumer,advanced",
+      "required": false,
+      "type": "object",
+      "javaType": "org.apache.camel.ExchangePattern",
+      "enum": [
+        "InOnly",
+        "InOut",
+        "InOptionalOut"
+      ],
+      "deprecated": false,
+      "secret": false,
+      "description": "Sets the exchange pattern when the consumer creates an 
exchange."
+    },
+    "pollStrategy": {
+      "kind": "parameter",
+      "displayName": "Poll Strategy",
+      "group": "consumer (advanced)",
+      "label": "consumer,advanced",
+      "required": false,
+      "type": "object",
+      "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy",
+      "deprecated": false,
+      "secret": false,
+      "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the 
poll operation before an Exchange have been created and being routed in Camel."
+    },
+    "lazyStartProducer": {
+      "kind": "parameter",
+      "displayName": "Lazy Start Producer",
+      "group": "producer",
+      "label": "producer",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "Whether the producer should be started lazy (on the 
first message). By starting lazy you can use this to allow CamelContext and 
routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and starting the [...]
+    },
+    "basicPropertyBinding": {
+      "kind": "parameter",
+      "displayName": "Basic Property Binding",
+      "group": "advanced",
+      "label": "advanced",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "Whether the endpoint should use basic property binding 
(Camel 2.x) or the newer property binding with additional capabilities"
+    },
+    "synchronous": {
+      "kind": "parameter",
+      "displayName": "Synchronous",
+      "group": "advanced",
+      "label": "advanced",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "false",
+      "description": "Sets whether synchronous processing should be strictly 
used, or Camel is allowed to use asynchronous processing (if supported)."
+    },
+    "backoffErrorThreshold": {
+      "kind": "parameter",
+      "displayName": "Backoff Error Threshold",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": false,
+      "secret": false,
+      "description": "The number of subsequent error polls (failed due some 
error) that should happen before the backoffMultipler should kick-in."
+    },
+    "backoffIdleThreshold": {
+      "kind": "parameter",
+      "displayName": "Backoff Idle Threshold",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": false,
+      "secret": false,
+      "description": "The number of subsequent idle polls that should happen 
before the backoffMultipler should kick-in."
+    },
+    "backoffMultiplier": {
+      "kind": "parameter",
+      "displayName": "Backoff Multiplier",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": false,
+      "secret": false,
+      "description": "To let the scheduled polling consumer backoff if there 
has been a number of subsequent idles\/errors in a row. The multiplier is then 
the number of polls that will be skipped before the next actual attempt is 
happening again. When this option is in use then backoffIdleThreshold and\/or 
backoffErrorThreshold must also be configured."
+    },
+    "delay": {
+      "kind": "parameter",
+      "displayName": "Delay",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "500",
+      "description": "Milliseconds before the next poll."
+    },
+    "greedy": {
+      "kind": "parameter",
+      "displayName": "Greedy",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": false,
+      "description": "If greedy is enabled, then the ScheduledPollConsumer 
will run immediately again, if the previous run polled 1 or more messages."
+    },
+    "initialDelay": {
+      "kind": "parameter",
+      "displayName": "Initial Delay",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "1000",
+      "description": "Milliseconds before the first poll starts."
+    },
+    "repeatCount": {
+      "kind": "parameter",
+      "displayName": "Repeat Count",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "0",
+      "description": "Specifies a maximum limit of number of fires. So if you 
set it to 1, the scheduler will only fire once. If you set it to 5, it will 
only fire five times. A value of zero or negative means fire forever."
+    },
+    "runLoggingLevel": {
+      "kind": "parameter",
+      "displayName": "Run Logging Level",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "object",
+      "javaType": "org.apache.camel.LoggingLevel",
+      "enum": [
+        "TRACE",
+        "DEBUG",
+        "INFO",
+        "WARN",
+        "ERROR",
+        "OFF"
+      ],
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "TRACE",
+      "description": "The consumer logs a start\/complete log line when it 
polls. This option allows you to configure the logging level for that."
+    },
+    "scheduledExecutorService": {
+      "kind": "parameter",
+      "displayName": "Scheduled Executor Service",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "object",
+      "javaType": "java.util.concurrent.ScheduledExecutorService",
+      "deprecated": false,
+      "secret": false,
+      "description": "Allows for configuring a custom\/shared thread pool to 
use for the consumer. By default each consumer has its own single threaded 
thread pool."
+    },
+    "scheduler": {
+      "kind": "parameter",
+      "displayName": "Scheduler",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "object",
+      "javaType": "java.lang.Object",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "none",
+      "description": "To use a cron scheduler from either camel-spring or 
camel-quartz component. Use value spring or quartz for built in scheduler"
+    },
+    "schedulerProperties": {
+      "kind": "parameter",
+      "displayName": "Scheduler Properties",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "object",
+      "javaType": "java.util.Map<java.lang.String, java.lang.Object>",
+      "prefix": "scheduler.",
+      "multiValue": true,
+      "deprecated": false,
+      "secret": false,
+      "description": "To configure additional properties when using a custom 
scheduler or any of the Quartz, Spring based scheduler."
+    },
+    "startScheduler": {
+      "kind": "parameter",
+      "displayName": "Start Scheduler",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "true",
+      "description": "Whether the scheduler should be auto started."
+    },
+    "timeUnit": {
+      "kind": "parameter",
+      "displayName": "Time Unit",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "object",
+      "javaType": "java.util.concurrent.TimeUnit",
+      "enum": [
+        "NANOSECONDS",
+        "MICROSECONDS",
+        "MILLISECONDS",
+        "SECONDS",
+        "MINUTES",
+        "HOURS",
+        "DAYS"
+      ],
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "MILLISECONDS",
+      "description": "Time unit for initialDelay and delay options."
+    },
+    "useFixedDelay": {
+      "kind": "parameter",
+      "displayName": "Use Fixed Delay",
+      "group": "scheduler",
+      "label": "consumer,scheduler",
+      "required": false,
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": "true",
+      "description": "Controls if fixed delay or fixed rate is used. See 
ScheduledExecutorService in JDK for details."
+    }
   },
   "apiProperties": {
-    "recording-add-on-result-payload": { "apiName": 
"recording-add-on-result-payload", "methods": { "deleter": { "apiMethodName": 
"deleter", "description": "The unique string that identifies the resource", 
"properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "des [...]
-    "usage-record-today": { "apiName": "usage-record-today", "methods": { 
"reader": { "apiMethodName": "reader", "description": "The SID of the Account 
that created the resources to read", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "available-phone-number-country-local": { "apiName": 
"available-phone-number-country-local", "methods": { "reader": { 
"apiMethodName": "reader", "description": "The ISO Country code of the country 
from which to read phone numbers", "properties": { "pathCountryCode": { "kind": 
"parameter", "displayName": "Path Country Code", "group": "common", "label": 
"", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "call-recording": { "apiName": "call-recording", "methods": { "updater": { 
"apiMethodName": "updater", "description": "The new status of the recording", 
"properties": { "status": { "kind": "parameter", "displayName": "Status", 
"group": "common", "label": "", "required": false, "type": "object", 
"javaType": "com.twilio.rest.api.v2010.account.call.Recording.Status", "enum": 
[ "in-progress", "paused", "stopped", "processing", "completed", "absent" ], 
"deprecated": false, "secret": false [...]
-    "queue-member": { "apiName": "queue-member", "methods": { "updater": { 
"apiMethodName": "updater", "description": "The absolute URL of the Queue 
resource", "properties": { "url": { "kind": "parameter", "displayName": "Url", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.net.URI", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "usage-trigger": { "apiName": "usage-trigger", "methods": { "creator": { 
"apiMethodName": "creator", "description": "The usage category the trigger 
watches", "properties": { "usageCategory": { "kind": "parameter", 
"displayName": "Usage Category", "group": "common", "label": "", "required": 
false, "type": "object", "javaType": 
"com.twilio.rest.api.v2010.account.usage.Trigger.UsageCategory", "enum": [ 
"agent-conference", "answering-machine-detection", "authy-authentications", 
"authy-ca [...]
-    "usage-record-last-month": { "apiName": "usage-record-last-month", 
"methods": { "reader": { "apiMethodName": "reader", "description": "The SID of 
the Account that created the resources to read", "properties": { 
"pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "usage-record-all-time": { "apiName": "usage-record-all-time", "methods": 
{ "reader": { "apiMethodName": "reader", "description": "The SID of the Account 
that created the resources to read", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "recording-transcription": { "apiName": "recording-transcription", 
"methods": { "deleter": { "apiMethodName": "deleter", "description": "The 
unique string that identifies the resource", "properties": { "pathSid": { 
"kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description": "" } } }, "fetcher": { 
"apiMethodName": "fetcher", "description": "The  [...]
-    "message": { "apiName": "message", "methods": { "creator": { 
"apiMethodName": "creator", "description": "The destination phone number", 
"properties": { "to": { "kind": "parameter", "displayName": "To", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "call-feedback-summary": { "apiName": "call-feedback-summary", "methods": 
{ "creator": { "apiMethodName": "creator", "description": "Only include 
feedback given on or after this date", "properties": { "startDate": { "kind": 
"parameter", "displayName": "Start Date", "group": "common", "label": "", 
"required": false, "type": "object", "javaType": "org.joda.time.LocalDate", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "sip-credential-list-credential": { "apiName": 
"sip-credential-list-credential", "methods": { "creator": { "apiMethodName": 
"creator", "description": "The username for this credential", "properties": { 
"username": { "kind": "parameter", "displayName": "Username", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "new-key": { "apiName": "new-key", "methods": { "creator": { 
"apiMethodName": "creator", "description": "The SID of the Account that will be 
responsible for the new Key resource", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "incoming-phone-number": { "apiName": "incoming-phone-number", "methods": 
{ "creator": { "apiMethodName": "creator", "description": "The phone number to 
purchase in E.164 format", "properties": { "phoneNumber": { "kind": 
"parameter", "displayName": "Phone Number", "group": "common", "label": "", 
"required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "call-notification": { "apiName": "call-notification", "methods": { 
"fetcher": { "apiMethodName": "fetcher", "description": "The unique string that 
identifies the resource", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } } } },
-    "validation-request": { "apiName": "validation-request", "methods": { 
"creator": { "apiMethodName": "creator", "description": "The phone number to 
verify in E.164 format", "properties": { "phoneNumber": { "kind": "parameter", 
"displayName": "Phone Number", "group": "common", "label": "", "required": 
false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "usage-record-yesterday": { "apiName": "usage-record-yesterday", 
"methods": { "reader": { "apiMethodName": "reader", "description": "The SID of 
the Account that created the resources to read", "properties": { 
"pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "usage-record-this-month": { "apiName": "usage-record-this-month", 
"methods": { "reader": { "apiMethodName": "reader", "description": "The SID of 
the Account that created the resources to read", "properties": { 
"pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "new-signing-key": { "apiName": "new-signing-key", "methods": { "creator": 
{ "apiMethodName": "creator", "description": "The SID of the Account that will 
be responsible for the new Key resource", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "conference": { "apiName": "conference", "methods": { "fetcher": { 
"apiMethodName": "fetcher", "description": "The unique string that identifies 
this resource", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "updater": { "apiMethodName": 
"updater", "description": "The unique string that identi [...]
-    "usage-record-daily": { "apiName": "usage-record-daily", "methods": { 
"reader": { "apiMethodName": "reader", "description": "The SID of the Account 
that created the resources to read", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "application": { "apiName": "application", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The unique string that identifies 
the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": 
"Path Sid", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that ident [...]
-    "usage-record": { "apiName": "usage-record", "methods": { "reader": { 
"apiMethodName": "reader", "description": "The SID of the Account that created 
the resources to read", "properties": { "pathAccountSid": { "kind": 
"parameter", "displayName": "Path Account Sid", "group": "common", "label": "", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "available-phone-number-country-mobile": { "apiName": 
"available-phone-number-country-mobile", "methods": { "reader": { 
"apiMethodName": "reader", "description": "The ISO Country code of the country 
from which to read phone numbers", "properties": { "pathCountryCode": { "kind": 
"parameter", "displayName": "Path Country Code", "group": "common", "label": 
"", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "conference-participant": { "apiName": "conference-participant", 
"methods": { "creator": { "apiMethodName": "creator", "description": "The phone 
number, SIP address or Client identifier that received this call.", 
"properties": { "to": { "kind": "parameter", "displayName": "To", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "recording-add-on-result": { "apiName": "recording-add-on-result", 
"methods": { "deleter": { "apiMethodName": "deleter", "description": "The 
unique string that identifies the resource to delete", "properties": { 
"pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
}, "fetcher": { "apiMethodName": "fetcher", "descripti [...]
-    "notification": { "apiName": "notification", "methods": { "fetcher": { 
"apiMethodName": "fetcher", "description": "The unique string that identifies 
the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": 
"Path Sid", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "sip-domain-ip-access-control-list-mapping": { "apiName": 
"sip-domain-ip-access-control-list-mapping", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "A 34 character string that uniquely 
identifies the resource to delete.", "properties": { "pathSid": { "kind": 
"parameter", "displayName": "Path Sid", "group": "common", "label": "", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description": "" } } }, " [...]
-    "sip-domain": { "apiName": "sip-domain", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The unique string that identifies 
the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": 
"Path Sid", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that identif [...]
-    "address": { "apiName": "address", "methods": { "creator": { 
"apiMethodName": "creator", "description": "The number and street address of 
the new address", "properties": { "street": { "kind": "parameter", 
"displayName": "Street", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } } } },
-    "message-media": { "apiName": "message-media", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The unique string that identifies 
this resource", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "fetcher": { "apiMethodName": 
"fetcher", "description": "The unique string that  [...]
-    "sip-ip-access-control-list-ip-address": { "apiName": 
"sip-ip-access-control-list-ip-address", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "A string that identifies the 
resource to delete", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "f [...]
-    "available-phone-number-country": { "apiName": 
"available-phone-number-country", "methods": { "fetcher": { "apiMethodName": 
"fetcher", "description": "The ISO country code of the country to fetch 
available phone number information about", "properties": { "pathCountryCode": { 
"kind": "parameter", "displayName": "Path Country Code", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": " [...]
-    "usage-record-yearly": { "apiName": "usage-record-yearly", "methods": { 
"reader": { "apiMethodName": "reader", "description": "The SID of the Account 
that created the resources to read", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "queue": { "apiName": "queue", "methods": { "deleter": { "apiMethodName": 
"deleter", "description": "The unique string that identifies this resource", 
"properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that identifies this  [...]
-    "transcription": { "apiName": "transcription", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The unique string that identifies 
the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": 
"Path Sid", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that i [...]
-    "sip-domain-credential-list-mapping": { "apiName": 
"sip-domain-credential-list-mapping", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "A string that identifies the 
resource to delete", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "fetcher": { "apiMethodName": 
"fetcher [...]
-    "call-feedback": { "apiName": "call-feedback", "methods": { "creator": { 
"apiMethodName": "creator", "description": "The call quality expressed as an 
integer from 1 to 5", "properties": { "qualityScore": { "kind": "parameter", 
"displayName": "Quality Score", "group": "common", "label": "", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"secret": false, "description": "" } } }, "updater": { "apiMethodName": 
"updater", "description": "The ca [...]
-    "key": { "apiName": "key", "methods": { "deleter": { "apiMethodName": 
"deleter", "description": "The unique string that identifies the resource", 
"properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that identifies the resour [...]
-    "incoming-phone-number-toll-free": { "apiName": 
"incoming-phone-number-toll-free", "methods": { "creator": { "apiMethodName": 
"creator", "description": "The phone number to purchase in E.164 format", 
"properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone 
Number", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": 
false, "description": "" } } } } },
-    "token": { "apiName": "token", "methods": { "creator": { "apiMethodName": 
"creator", "description": "The SID of the Account that will create the 
resource", "properties": { "pathAccountSid": { "kind": "parameter", 
"displayName": "Path Account Sid", "group": "common", "label": "", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } } } },
-    "short-code": { "apiName": "short-code", "methods": { "fetcher": { 
"apiMethodName": "fetcher", "description": "The unique string that identifies 
this resource", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "updater": { "apiMethodName": 
"updater", "description": "The unique string that identi [...]
-    "available-phone-number-country-toll-free": { "apiName": 
"available-phone-number-country-toll-free", "methods": { "reader": { 
"apiMethodName": "reader", "description": "The ISO Country code of the country 
from which to read phone numbers", "properties": { "pathCountryCode": { "kind": 
"parameter", "displayName": "Path Country Code", "group": "common", "label": 
"", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description":  [...]
-    "usage-record-monthly": { "apiName": "usage-record-monthly", "methods": { 
"reader": { "apiMethodName": "reader", "description": "The SID of the Account 
that created the resources to read", "properties": { "pathAccountSid": { 
"kind": "parameter", "displayName": "Path Account Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
} } },
-    "sip-ip-access-control-list": { "apiName": "sip-ip-access-control-list", 
"methods": { "deleter": { "apiMethodName": "deleter", "description": "A string 
that identifies the resource to delete", "properties": { "pathSid": { "kind": 
"parameter", "displayName": "Path Sid", "group": "common", "label": "", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "secret": false, "description": "" } } }, "fetcher": { 
"apiMethodName": "fetcher", "description" [...]
-    "connect-app": { "apiName": "connect-app", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The unique string that identifies 
the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": 
"Path Sid", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that ident [...]
-    "address-dependent-phone-number": { "apiName": 
"address-dependent-phone-number", "methods": { "reader": { "apiMethodName": 
"reader", "description": "The SID of the Address resource associated with the 
phone number", "properties": { "pathAddressSid": { "kind": "parameter", 
"displayName": "Path Address Sid", "group": "common", "label": "", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } } } },
-    "signing-key": { "apiName": "signing-key", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The sid", "properties": { 
"pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "" } } 
}, "fetcher": { "apiMethodName": "fetcher", "description": "The sid", 
"properties": { "pathSid": { "kind": "parameter", "displa [...]
-    "outgoing-caller-id": { "apiName": "outgoing-caller-id", "methods": { 
"deleter": { "apiMethodName": "deleter", "description": "The unique string that 
identifies the resource", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "fetcher": { "apiMethodName": 
"fetcher", "description": "The unique str [...]
-    "call": { "apiName": "call", "methods": { "creator": { "apiMethodName": 
"creator", "description": "The absolute URL that returns TwiML for this call", 
"properties": { "url": { "kind": "parameter", "displayName": "Url", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.net.URI", "deprecated": false, "secret": false, "description": "" } } } } 
},
-    "incoming-phone-number-local": { "apiName": "incoming-phone-number-local", 
"methods": { "creator": { "apiMethodName": "creator", "description": "The phone 
number to purchase in E.164 format", "properties": { "phoneNumber": { "kind": 
"parameter", "displayName": "Phone Number", "group": "common", "label": "", 
"required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", 
"deprecated": false, "secret": false, "description": "" } } } } },
-    "message-feedback": { "apiName": "message-feedback", "methods": { 
"creator": { "apiMethodName": "creator", "description": "The SID of the Message 
resource for which the feedback was provided", "properties": { 
"pathMessageSid": { "kind": "parameter", "displayName": "Path Message Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } } } },
-    "recording": { "apiName": "recording", "methods": { "deleter": { 
"apiMethodName": "deleter", "description": "The unique string that identifies 
the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": 
"Path Sid", "group": "common", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "fetcher": { "apiMethodName": "fetcher", 
"description": "The unique string that identifie [...]
-    "incoming-phone-number-mobile": { "apiName": 
"incoming-phone-number-mobile", "methods": { "creator": { "apiMethodName": 
"creator", "description": "The phone number to purchase in E.164 format", 
"properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone 
Number", "group": "common", "label": "", "required": false, "type": "object", 
"javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": 
false, "description": "" } } } } },
-    "account": { "apiName": "account", "methods": { "fetcher": { 
"apiMethodName": "fetcher", "description": "Fetch by unique Account Sid", 
"properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"description": "" } } }, "updater": { "apiMethodName": "updater", 
"description": "Update by unique Account Sid", "properties": { "pathSid [...]
-    "sip-credential-list": { "apiName": "sip-credential-list", "methods": { 
"deleter": { "apiMethodName": "deleter", "description": "Delete by unique 
credential list Sid", "properties": { "pathSid": { "kind": "parameter", 
"displayName": "Path Sid", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "" } } }, "fetcher": { "apiMethodName": 
"fetcher", "description": "Fetch by unique creden [...]
+    "recording-add-on-result-payload": {
+      "apiName": "recording-add-on-result-payload",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a PayloadDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a PayloadFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource 
to fetch"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-today": {
+      "apiName": "usage-record-today",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a TodayReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "available-phone-number-country-local": {
+      "apiName": "available-phone-number-country-local",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a LocalReader to execute read",
+          "properties": {
+            "pathCountryCode": {
+              "kind": "parameter",
+              "displayName": "Path Country Code",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The ISO Country code of the country from which 
to read phone numbers"
+            }
+          }
+        }
+      }
+    },
+    "call-recording": {
+      "apiName": "call-recording",
+      "methods": {
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a RecordingUpdater to execute update",
+          "properties": {
+            "status": {
+              "kind": "parameter",
+              "displayName": "Status",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": 
"com.twilio.rest.api.v2010.account.call.Recording.Status",
+              "enum": [
+                "in-progress",
+                "paused",
+                "stopped",
+                "processing",
+                "completed",
+                "absent"
+              ],
+              "deprecated": false,
+              "secret": false,
+              "description": "The new status of the recording"
+            }
+          }
+        }
+      }
+    },
+    "queue-member": {
+      "apiName": "queue-member",
+      "methods": {
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a MemberUpdater to execute update",
+          "properties": {
+            "url": {
+              "kind": "parameter",
+              "displayName": "Url",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.net.URI",
+              "deprecated": false,
+              "secret": false,
+              "description": "The absolute URL of the Queue resource"
+            }
+          }
+        }
+      }
+    },
+    "usage-trigger": {
+      "apiName": "usage-trigger",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a TriggerCreator to execute create",
+          "properties": {
+            "usageCategory": {
+              "kind": "parameter",
+              "displayName": "Usage Category",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": 
"com.twilio.rest.api.v2010.account.usage.Trigger.UsageCategory",
+              "enum": [
+                "agent-conference",
+                "answering-machine-detection",
+                "authy-authentications",
+                "authy-calls-outbound",
+                "authy-monthly-fees",
+                "authy-phone-intelligence",
+                "authy-phone-verifications",
+                "authy-sms-outbound",
+                "call-progess-events",
+                "calleridlookups",
+                "calls",
+                "calls-client",
+                "calls-globalconference",
+                "calls-inbound",
+                "calls-inbound-local",
+                "calls-inbound-mobile",
+                "calls-inbound-tollfree",
+                "calls-outbound",
+                "calls-pay-verb-transactions",
+                "calls-recordings",
+                "calls-sip",
+                "calls-sip-inbound",
+                "calls-sip-outbound",
+                "carrier-lookups",
+                "conversations",
+                "conversations-api-requests",
+                "conversations-conversation-events",
+                "conversations-endpoint-connectivity",
+                "conversations-events",
+                "conversations-participant-events",
+                "conversations-participants",
+                "cps",
+                "fraud-lookups",
+                "group-rooms",
+                "group-rooms-data-track",
+                "group-rooms-encrypted-media-recorded",
+                "group-rooms-media-downloaded",
+                "group-rooms-media-recorded",
+                "group-rooms-media-routed",
+                "group-rooms-media-stored",
+                "group-rooms-participant-minutes",
+                "group-rooms-recorded-minutes",
+                "ip-messaging",
+                "ip-messaging-commands",
+                "ip-messaging-data-storage",
+                "ip-messaging-data-transfer",
+                "ip-messaging-endpoint-connectivity",
+                "lookups",
+                "marketplace",
+                "marketplace-algorithmia-named-entity-recognition",
+                "marketplace-cadence-transcription",
+                "marketplace-cadence-translation",
+                "marketplace-capio-speech-to-text",
+                "marketplace-convriza-ababa",
+                "marketplace-deepgram-phrase-detector",
+                "marketplace-digital-segment-business-info",
+                "marketplace-facebook-offline-conversions",
+                "marketplace-google-speech-to-text",
+                "marketplace-ibm-watson-message-insights",
+                "marketplace-ibm-watson-message-sentiment",
+                "marketplace-ibm-watson-recording-analysis",
+                "marketplace-ibm-watson-tone-analyzer",
+                "marketplace-icehook-systems-scout",
+                "marketplace-infogroup-dataaxle-bizinfo",
+                "marketplace-keen-io-contact-center-analytics",
+                "marketplace-marchex-cleancall",
+                "marketplace-marchex-sentiment-analysis-for-sms",
+                "marketplace-marketplace-nextcaller-social-id",
+                "marketplace-mobile-commons-opt-out-classifier",
+                "marketplace-nexiwave-voicemail-to-text",
+                "marketplace-nextcaller-advanced-caller-identification",
+                "marketplace-nomorobo-spam-score",
+                "marketplace-payfone-tcpa-compliance",
+                "marketplace-remeeting-automatic-speech-recognition",
+                "marketplace-tcpa-defense-solutions-blacklist-feed",
+                "marketplace-telo-opencnam",
+                "marketplace-truecnam-true-spam",
+                "marketplace-twilio-caller-name-lookup-us",
+                "marketplace-twilio-carrier-information-lookup",
+                "marketplace-voicebase-pci",
+                "marketplace-voicebase-transcription",
+                "marketplace-voicebase-transcription-custom-vocabulary",
+                "marketplace-whitepages-pro-caller-identification",
+                "marketplace-whitepages-pro-phone-intelligence",
+                "marketplace-whitepages-pro-phone-reputation",
+                "marketplace-wolfarm-spoken-results",
+                "marketplace-wolfram-short-answer",
+                "marketplace-ytica-contact-center-reporting-analytics",
+                "mediastorage",
+                "mms",
+                "mms-inbound",
+                "mms-inbound-longcode",
+                "mms-inbound-shortcode",
+                "mms-messages-carrierfees",
+                "mms-outbound",
+                "mms-outbound-longcode",
+                "mms-outbound-shortcode",
+                "monitor-reads",
+                "monitor-storage",
+                "monitor-writes",
+                "notify",
+                "notify-actions-attempts",
+                "notify-channels",
+                "number-format-lookups",
+                "pchat",
+                "pchat-actions",
+                "pchat-aps",
+                "pchat-messages",
+                "pchat-notifications",
+                "pchat-reads",
+                "pchat-users",
+                "peer-to-peer-rooms-participant-minutes",
+                "pfax",
+                "pfax-minutes",
+                "pfax-minutes-inbound",
+                "pfax-minutes-outbound",
+                "pfax-pages",
+                "phonenumbers",
+                "phonenumbers-cps",
+                "phonenumbers-emergency",
+                "phonenumbers-local",
+                "phonenumbers-mobile",
+                "phonenumbers-setups",
+                "phonenumbers-tollfree",
+                "premiumsupport",
+                "proxy",
+                "proxy-active-sessions",
+                "pstnconnectivity",
+                "pv",
+                "pv-composition-media-downloaded",
+                "pv-composition-media-encrypted",
+                "pv-composition-media-stored",
+                "pv-composition-minutes",
+                "pv-recording-compositions",
+                "pv-room-participants",
+                "pv-room-participants-au1",
+                "pv-room-participants-br1",
+                "pv-room-participants-ie1",
+                "pv-room-participants-jp1",
+                "pv-room-participants-sg1",
+                "pv-room-participants-us1",
+                "pv-room-participants-us2",
+                "pv-rooms",
+                "pv-sip-endpoint-registrations",
+                "recordings",
+                "recordingstorage",
+                "rooms-group-bandwidth",
+                "rooms-group-minutes",
+                "rooms-peer-to-peer-minutes",
+                "shortcodes",
+                "shortcodes-customerowned",
+                "shortcodes-mms-enablement",
+                "shortcodes-mps",
+                "shortcodes-random",
+                "shortcodes-uk",
+                "shortcodes-vanity",
+                "small-group-rooms",
+                "small-group-rooms-data-track",
+                "small-group-rooms-participant-minutes",
+                "sms",
+                "sms-inbound",
+                "sms-inbound-longcode",
+                "sms-inbound-shortcode",
+                "sms-messages-carrierfees",
+                "sms-messages-features",
+                "sms-messages-features-senderid",
+                "sms-outbound",
+                "sms-outbound-content-inspection",
+                "sms-outbound-longcode",
+                "sms-outbound-shortcode",
+                "speech-recognition",
+                "studio-engagements",
+                "sync",
+                "sync-actions",
+                "sync-endpoint-hours",
+                "sync-endpoint-hours-above-daily-cap",
+                "taskrouter-tasks",
+                "totalprice",
+                "transcriptions",
+                "trunking-cps",
+                "trunking-emergency-calls",
+                "trunking-origination",
+                "trunking-origination-local",
+                "trunking-origination-mobile",
+                "trunking-origination-tollfree",
+                "trunking-recordings",
+                "trunking-secure",
+                "trunking-termination",
+                "turnmegabytes",
+                "turnmegabytes-australia",
+                "turnmegabytes-brasil",
+                "turnmegabytes-germany",
+                "turnmegabytes-india",
+                "turnmegabytes-ireland",
+                "turnmegabytes-japan",
+                "turnmegabytes-singapore",
+                "turnmegabytes-useast",
+                "turnmegabytes-uswest",
+                "twilio-interconnect",
+                "video-recordings",
+                "voice-insights",
+                "voice-insights-client-insights-on-demand-minute",
+                "voice-insights-ptsn-insights-on-demand-minute",
+                "voice-insights-sip-interface-insights-on-demand-minute",
+                "voice-insights-sip-trunking-insights-on-demand-minute",
+                "wireless",
+                "wireless-orders",
+                "wireless-orders-artwork",
+                "wireless-orders-bulk",
+                "wireless-orders-esim",
+                "wireless-orders-starter",
+                "wireless-usage",
+                "wireless-usage-commands",
+                "wireless-usage-commands-africa",
+                "wireless-usage-commands-asia",
+                "wireless-usage-commands-centralandsouthamerica",
+                "wireless-usage-commands-europe",
+                "wireless-usage-commands-home",
+                "wireless-usage-commands-northamerica",
+                "wireless-usage-commands-oceania",
+                "wireless-usage-commands-roaming",
+                "wireless-usage-data",
+                "wireless-usage-data-africa",
+                "wireless-usage-data-asia",
+                "wireless-usage-data-centralandsouthamerica",
+                "wireless-usage-data-custom-additionalmb",
+                "wireless-usage-data-custom-first5mb",
+                "wireless-usage-data-domestic-roaming",
+                "wireless-usage-data-europe",
+                "wireless-usage-data-individual-additionalgb",
+                "wireless-usage-data-individual-firstgb",
+                "wireless-usage-data-international-roaming-canada",
+                "wireless-usage-data-international-roaming-india",
+                "wireless-usage-data-international-roaming-mexico",
+                "wireless-usage-data-northamerica",
+                "wireless-usage-data-oceania",
+                "wireless-usage-data-pooled",
+                "wireless-usage-data-pooled-downlink",
+                "wireless-usage-data-pooled-uplink",
+                "wireless-usage-mrc",
+                "wireless-usage-mrc-custom",
+                "wireless-usage-mrc-individual",
+                "wireless-usage-mrc-pooled",
+                "wireless-usage-mrc-suspended",
+                "wireless-usage-sms",
+                "wireless-usage-voice"
+              ],
+              "deprecated": false,
+              "secret": false,
+              "description": "The usage category the trigger watches"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-last-month": {
+      "apiName": "usage-record-last-month",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a LastMonthReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-all-time": {
+      "apiName": "usage-record-all-time",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a AllTimeReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "recording-transcription": {
+      "apiName": "recording-transcription",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a TranscriptionDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a TranscriptionFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "message": {
+      "apiName": "message",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a MessageCreator to execute create",
+          "properties": {
+            "to": {
+              "kind": "parameter",
+              "displayName": "To",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The destination phone number"
+            }
+          }
+        }
+      }
+    },
+    "call-feedback-summary": {
+      "apiName": "call-feedback-summary",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a FeedbackSummaryCreator to execute create",
+          "properties": {
+            "startDate": {
+              "kind": "parameter",
+              "displayName": "Start Date",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "org.joda.time.LocalDate",
+              "deprecated": false,
+              "secret": false,
+              "description": "Only include feedback given on or after this 
date"
+            }
+          }
+        }
+      }
+    },
+    "sip-credential-list-credential": {
+      "apiName": "sip-credential-list-credential",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a CredentialCreator to execute create",
+          "properties": {
+            "username": {
+              "kind": "parameter",
+              "displayName": "Username",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The username for this credential"
+            }
+          }
+        }
+      }
+    },
+    "new-key": {
+      "apiName": "new-key",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a NewKeyCreator to execute create",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that will be responsible 
for the new Key resource"
+            }
+          }
+        }
+      }
+    },
+    "incoming-phone-number": {
+      "apiName": "incoming-phone-number",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a IncomingPhoneNumberCreator to execute 
create",
+          "properties": {
+            "phoneNumber": {
+              "kind": "parameter",
+              "displayName": "Phone Number",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The phone number to purchase in E.164 format"
+            }
+          }
+        }
+      }
+    },
+    "call-notification": {
+      "apiName": "call-notification",
+      "methods": {
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a NotificationFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "validation-request": {
+      "apiName": "validation-request",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a ValidationRequestCreator to execute create",
+          "properties": {
+            "phoneNumber": {
+              "kind": "parameter",
+              "displayName": "Phone Number",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The phone number to verify in E.164 format"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-yesterday": {
+      "apiName": "usage-record-yesterday",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a YesterdayReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-this-month": {
+      "apiName": "usage-record-this-month",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a ThisMonthReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "new-signing-key": {
+      "apiName": "new-signing-key",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a NewSigningKeyCreator to execute create",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that will be responsible 
for the new Key resource"
+            }
+          }
+        }
+      }
+    },
+    "conference": {
+      "apiName": "conference",
+      "methods": {
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a ConferenceFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a ConferenceUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-daily": {
+      "apiName": "usage-record-daily",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a DailyReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "application": {
+      "apiName": "application",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a ApplicationDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a ApplicationFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a ApplicationUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "usage-record": {
+      "apiName": "usage-record",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a RecordReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "available-phone-number-country-mobile": {
+      "apiName": "available-phone-number-country-mobile",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a MobileReader to execute read",
+          "properties": {
+            "pathCountryCode": {
+              "kind": "parameter",
+              "displayName": "Path Country Code",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The ISO Country code of the country from which 
to read phone numbers"
+            }
+          }
+        }
+      }
+    },
+    "conference-participant": {
+      "apiName": "conference-participant",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a ParticipantCreator to execute create",
+          "properties": {
+            "to": {
+              "kind": "parameter",
+              "displayName": "To",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The phone number, SIP address or Client 
identifier that received this call."
+            }
+          }
+        }
+      }
+    },
+    "recording-add-on-result": {
+      "apiName": "recording-add-on-result",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a AddOnResultDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource 
to delete"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a AddOnResultFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource 
to fetch"
+            }
+          }
+        }
+      }
+    },
+    "notification": {
+      "apiName": "notification",
+      "methods": {
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a NotificationFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "sip-domain-ip-access-control-list-mapping": {
+      "apiName": "sip-domain-ip-access-control-list-mapping",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a IpAccessControlListMappingDeleter to 
execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A 34 character string that uniquely identifies 
the resource to delete."
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a IpAccessControlListMappingFetcher to 
execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A 34 character string that uniquely identifies 
the resource to fetch."
+            }
+          }
+        }
+      }
+    },
+    "sip-domain": {
+      "apiName": "sip-domain",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a DomainDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a DomainFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a DomainUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "address": {
+      "apiName": "address",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a AddressCreator to execute create",
+          "properties": {
+            "street": {
+              "kind": "parameter",
+              "displayName": "Street",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The number and street address of the new address"
+            }
+          }
+        }
+      }
+    },
+    "message-media": {
+      "apiName": "message-media",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a MediaDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a MediaFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        }
+      }
+    },
+    "sip-ip-access-control-list-ip-address": {
+      "apiName": "sip-ip-access-control-list-ip-address",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a IpAddressDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the resource to delete"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a IpAddressFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the IpAddress resource 
to fetch"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a IpAddressUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the IpAddress resource 
to update"
+            }
+          }
+        }
+      }
+    },
+    "available-phone-number-country": {
+      "apiName": "available-phone-number-country",
+      "methods": {
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a AvailablePhoneNumberCountryFetcher to 
execute fetch",
+          "properties": {
+            "pathCountryCode": {
+              "kind": "parameter",
+              "displayName": "Path Country Code",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The ISO country code of the country to fetch 
available phone number information about"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-yearly": {
+      "apiName": "usage-record-yearly",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a YearlyReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "queue": {
+      "apiName": "queue",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a QueueDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a QueueFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a QueueUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        }
+      }
+    },
+    "transcription": {
+      "apiName": "transcription",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a TranscriptionDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a TranscriptionFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "sip-domain-credential-list-mapping": {
+      "apiName": "sip-domain-credential-list-mapping",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a CredentialListMappingDeleter to execute 
delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the resource to delete"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a CredentialListMappingFetcher to execute 
fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the resource to fetch"
+            }
+          }
+        }
+      }
+    },
+    "call-feedback": {
+      "apiName": "call-feedback",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a FeedbackCreator to execute create",
+          "properties": {
+            "qualityScore": {
+              "kind": "parameter",
+              "displayName": "Quality Score",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "integer",
+              "javaType": "java.lang.Integer",
+              "deprecated": false,
+              "secret": false,
+              "description": "The call quality expressed as an integer from 1 
to 5"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a FeedbackUpdater to execute update",
+          "properties": {
+            "qualityScore": {
+              "kind": "parameter",
+              "displayName": "Quality Score",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "integer",
+              "javaType": "java.lang.Integer",
+              "deprecated": false,
+              "secret": false,
+              "description": "The call quality expressed as an integer from 1 
to 5"
+            }
+          }
+        }
+      }
+    },
+    "key": {
+      "apiName": "key",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a KeyDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a KeyFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a KeyUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "incoming-phone-number-toll-free": {
+      "apiName": "incoming-phone-number-toll-free",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a TollFreeCreator to execute create",
+          "properties": {
+            "phoneNumber": {
+              "kind": "parameter",
+              "displayName": "Phone Number",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The phone number to purchase in E.164 format"
+            }
+          }
+        }
+      }
+    },
+    "token": {
+      "apiName": "token",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a TokenCreator to execute create",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that will create the 
resource"
+            }
+          }
+        }
+      }
+    },
+    "short-code": {
+      "apiName": "short-code",
+      "methods": {
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a ShortCodeFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a ShortCodeUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies this resource"
+            }
+          }
+        }
+      }
+    },
+    "available-phone-number-country-toll-free": {
+      "apiName": "available-phone-number-country-toll-free",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a TollFreeReader to execute read",
+          "properties": {
+            "pathCountryCode": {
+              "kind": "parameter",
+              "displayName": "Path Country Code",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The ISO Country code of the country from which 
to read phone numbers"
+            }
+          }
+        }
+      }
+    },
+    "usage-record-monthly": {
+      "apiName": "usage-record-monthly",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a MonthlyReader to execute read",
+          "properties": {
+            "pathAccountSid": {
+              "kind": "parameter",
+              "displayName": "Path Account Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Account that created the 
resources to read"
+            }
+          }
+        }
+      }
+    },
+    "sip-ip-access-control-list": {
+      "apiName": "sip-ip-access-control-list",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a IpAccessControlListDeleter to execute 
delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the resource to delete"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a IpAccessControlListFetcher to execute 
fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the resource to fetch"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a IpAccessControlListUpdater to execute 
update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "A string that identifies the resource to update"
+            }
+          }
+        }
+      }
+    },
+    "connect-app": {
+      "apiName": "connect-app",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a ConnectAppDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a ConnectAppFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a ConnectAppUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "address-dependent-phone-number": {
+      "apiName": "address-dependent-phone-number",
+      "methods": {
+        "reader": {
+          "apiMethodName": "reader",
+          "description": "Create a DependentPhoneNumberReader to execute read",
+          "properties": {
+            "pathAddressSid": {
+              "kind": "parameter",
+              "displayName": "Path Address Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Address resource associated with 
the phone number"
+            }
+          }
+        }
+      }
+    },
+    "signing-key": {
+      "apiName": "signing-key",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a SigningKeyDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The sid"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a SigningKeyFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The sid"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a SigningKeyUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The sid"
+            }
+          }
+        }
+      }
+    },
+    "outgoing-caller-id": {
+      "apiName": "outgoing-caller-id",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a OutgoingCallerIdDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a OutgoingCallerIdFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a OutgoingCallerIdUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "call": {
+      "apiName": "call",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a CallCreator to execute create",
+          "properties": {
+            "url": {
+              "kind": "parameter",
+              "displayName": "Url",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.net.URI",
+              "deprecated": false,
+              "secret": false,
+              "description": "The absolute URL that returns TwiML for this 
call"
+            }
+          }
+        }
+      }
+    },
+    "incoming-phone-number-local": {
+      "apiName": "incoming-phone-number-local",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a LocalCreator to execute create",
+          "properties": {
+            "phoneNumber": {
+              "kind": "parameter",
+              "displayName": "Phone Number",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The phone number to purchase in E.164 format"
+            }
+          }
+        }
+      }
+    },
+    "message-feedback": {
+      "apiName": "message-feedback",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a FeedbackCreator to execute create",
+          "properties": {
+            "pathMessageSid": {
+              "kind": "parameter",
+              "displayName": "Path Message Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The SID of the Message resource for which the 
feedback was provided"
+            }
+          }
+        }
+      }
+    },
+    "recording": {
+      "apiName": "recording",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a RecordingDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a RecordingFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "The unique string that identifies the resource"
+            }
+          }
+        }
+      }
+    },
+    "incoming-phone-number-mobile": {
+      "apiName": "incoming-phone-number-mobile",
+      "methods": {
+        "creator": {
+          "apiMethodName": "creator",
+          "description": "Create a MobileCreator to execute create",
+          "properties": {
+            "phoneNumber": {
+              "kind": "parameter",
+              "displayName": "Phone Number",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "object",
+              "javaType": "com.twilio.type.PhoneNumber",
+              "deprecated": false,
+              "secret": false,
+              "description": "The phone number to purchase in E.164 format"
+            }
+          }
+        }
+      }
+    },
+    "account": {
+      "apiName": "account",
+      "methods": {
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a AccountFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "Fetch by unique Account Sid"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a AccountUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "Update by unique Account Sid"
+            }
+          }
+        }
+      }
+    },
+    "sip-credential-list": {
+      "apiName": "sip-credential-list",
+      "methods": {
+        "deleter": {
+          "apiMethodName": "deleter",
+          "description": "Create a CredentialListDeleter to execute delete",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "Delete by unique credential list Sid"
+            }
+          }
+        },
+        "fetcher": {
+          "apiMethodName": "fetcher",
+          "description": "Create a CredentialListFetcher to execute fetch",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "Fetch by unique credential list Sid"
+            }
+          }
+        },
+        "updater": {
+          "apiMethodName": "updater",
+          "description": "Create a CredentialListUpdater to execute update",
+          "properties": {
+            "pathSid": {
+              "kind": "parameter",
+              "displayName": "Path Sid",
+              "group": "common",
+              "label": "",
+              "required": false,
+              "type": "string",
+              "javaType": "java.lang.String",
+              "deprecated": false,
+              "secret": false,
+              "description": "Update by unique credential list Sid"
+            }
+          }
+        }
+      }
+    }
   }
 }
diff --git 
a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ComponentModel.java
 
b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ComponentModel.java
index f971fab..ce1e217 100644
--- 
a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ComponentModel.java
+++ 
b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ComponentModel.java
@@ -181,7 +181,30 @@ public class ComponentModel extends 
ArtifactModel<ComponentModel.ComponentOption
 
     }
 
-    public static class ApiOptionModel extends BaseOptionModel {
-
+    public static class ApiOptionModel extends BaseOptionModel implements 
Cloneable {
+
+        // we need to be able to copy this option for api
+        // options as we output the same options for each supported api 
methods,
+        // however with a few changes per method
+
+        public ApiOptionModel copy() {
+            try {
+                return (ApiOptionModel) clone();
+            } catch (CloneNotSupportedException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        @Override
+        protected Object clone() throws CloneNotSupportedException {
+            ApiOptionModel copy = (ApiOptionModel) super.clone();
+            if (this.getEnums() != null) {
+                copy.setEnums(new ArrayList<>(this.getEnums()));
+            }
+            if (this.getOneOfs() != null) {
+                copy.setOneOfs(new ArrayList<>(this.getOneOfs()));
+            }
+            return copy;
+        }
     }
 }
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index 7e3f090..4263ca3 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -1104,10 +1104,19 @@ public class EndpointSchemaGeneratorMojo extends 
AbstractGeneratorMojo {
                             api.setName(apiName);
                             for (ApiMethod method : apiParam.apiMethods()) {
                                 ApiMethodModel apiMethod = new 
ApiMethodModel();
-                                apiMethod.setName(method.methodName());
-                                apiMethod.setDescription(method.description());
-                                apiMethod.addApiOptionModel((ApiOptionModel) 
option);
                                 api.addMethod(apiMethod);
+                                apiMethod.setName(method.methodName());
+                                // the method description is stored on 
@ApiParams
+                                if (apiParams != null) {
+                                    Arrays.stream(apiParams.apiMethods())
+                                            .filter(m -> 
m.methodName().equals(method.methodName()))
+                                            .findFirst().ifPresent(m -> 
apiMethod.setDescription(m.description()));
+                                }
+                                // copy the option and override with the 
correct description
+                                ApiOptionModel copy = ((ApiOptionModel) 
option).copy();
+                                apiMethod.addApiOptionModel(copy);
+                                // the option description is stored on 
@ApiMethod
+                                copy.setDescription(method.description());
                             }
                             componentModel.getApiOptions().add(api);
                         } else {

Reply via email to