You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/09/16 15:07:21 UTC

[camel] 01/02: CAMEL-15478: Restructure api in component json

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 90bd7ac125cd49ae4d612fd88ef08267e0a91396
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Sep 16 16:58:46 2020 +0200

    CAMEL-15478: Restructure api in component json
---
 .../org/apache/camel/tooling/model/JsonMapper.java |  62 ++++---
 .../camel/tooling/model/ApiComponentModelTest.java |  12 +-
 .../src/test/resources/twilio.json                 | 180 ++++++++++++++-------
 .../src/main/resources/endpoint-options.mvel       |  27 ----
 4 files changed, 172 insertions(+), 109 deletions(-)

diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
index 01ba69a..e673efd 100644
--- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
@@ -99,29 +99,54 @@ public final class JsonMapper {
                 model.addEndpointOption(option);
             }
         }
-        JsonObject mprap = (JsonObject) obj.get("apiProperties");
+        JsonObject mprap = (JsonObject) obj.get("apis");
         if (mprap != null) {
             for (Map.Entry<String, Object> entry : mprap.entrySet()) {
+                String name = entry.getKey();
                 JsonObject mp = (JsonObject) entry.getValue();
                 ApiModel am = new ApiModel();
-                am.setName(mp.getString("apiName"));
+                model.getApiOptions().add(am);
+                am.setName(name);
                 am.setDescription(mp.getString("description"));
-                JsonObject mm = (JsonObject) obj.get("methods");
+                JsonObject mm = (JsonObject) mp.get("methods");
                 if (mm != null) {
-                    for (Map.Entry<String, Object> mentry : mprap.entrySet()) {
-                        JsonObject mmp = (JsonObject) mentry.getValue();
-                        ApiMethodModel amm = am.newMethod(mmp.getString("apiMethodName"));
+                    for (Map.Entry<String, Object> mme : mm.entrySet()) {
+                        JsonObject mmp = (JsonObject) mme.getValue();
+                        ApiMethodModel amm = am.newMethod(mme.getKey());
                         Collection<String> signatures = mmp.getCollection("signatures");
                         if (signatures != null && !signatures.isEmpty()) {
                             signatures.forEach(amm::addSignature);
                         }
                         amm.setDescription(mmp.getString("description"));
-                        JsonObject properties = (JsonObject) obj.get("properties");
+                    }
+                }
+            }
+        }
+        mprap = (JsonObject) obj.get("apiProperties");
+        if (mprap != null) {
+            for (Map.Entry<String, Object> entry : mprap.entrySet()) {
+                JsonObject mp = (JsonObject) entry.getValue();
+                String name = entry.getKey();
+                ApiModel am = model.getApiOptions().stream().filter(a -> a.getName().equals(name)).findFirst().orElse(null);
+                if (am == null) {
+                    throw new RuntimeException("Invalid json. Cannot find ApiModel with name: " + name);
+                }
+                JsonObject mm = (JsonObject) mp.get("methods");
+                if (mm != null) {
+                    for (Map.Entry<String, Object> mme : mm.entrySet()) {
+                        JsonObject mmp = (JsonObject) mme.getValue();
+                        String mname = mme.getKey();
+                        ApiMethodModel amm
+                                = am.getMethods().stream().filter(a -> a.getName().equals(mname)).findFirst().orElse(null);
+                        if (amm == null) {
+                            throw new RuntimeException("Invalid json. Cannot find ApiMethodModel with name: " + mname);
+                        }
+                        JsonObject properties = (JsonObject) mmp.get("properties");
                         if (properties != null) {
-                            for (Map.Entry<String, Object> pentry : properties.entrySet()) {
-                                JsonObject prop = (JsonObject) pentry.getValue();
+                            for (Map.Entry<String, Object> pe : properties.entrySet()) {
+                                JsonObject prop = (JsonObject) pe.getValue();
                                 ComponentModel.ApiOptionModel option = new ComponentModel.ApiOptionModel();
-                                parseOption(prop, option, pentry.getKey());
+                                parseOption(prop, option, pe.getKey());
                                 amm.addApiOptionModel(option);
                             }
                         }
@@ -181,7 +206,8 @@ public final class JsonMapper {
         wrapper.put("componentProperties", asJsonObject(model.getComponentOptions()));
         wrapper.put("properties", asJsonObject(model.getEndpointOptions()));
         if (!model.getApiOptions().isEmpty()) {
-            wrapper.put("apiProperties", apiModelAsJsonObject(model.getApiOptions()));
+            wrapper.put("apis", apiModelAsJsonObject(model.getApiOptions(), false));
+            wrapper.put("apiProperties", apiModelAsJsonObject(model.getApiOptions(), true));
         }
         return wrapper;
     }
@@ -410,27 +436,27 @@ public final class JsonMapper {
         return json;
     }
 
-    public static JsonObject apiModelAsJsonObject(List<ApiModel> model) {
+    public static JsonObject apiModelAsJsonObject(List<ApiModel> model, boolean options) {
         JsonObject root = new JsonObject();
         model.forEach(a -> {
             JsonObject json = new JsonObject();
             root.put(a.getName(), json);
-            json.put("apiName", a.getName());
-            if (a.getDescription() != null) {
+            if (!options && a.getDescription() != null) {
                 json.put("description", a.getDescription());
             }
             Map<String, JsonObject> methods = new TreeMap<>();
             json.put("methods", methods);
             a.getMethods().forEach(m -> {
                 JsonObject mJson = new JsonObject();
-                mJson.put("apiMethodName", m.getName());
-                if (m.getDescription() != null) {
+                if (!options && m.getDescription() != null) {
                     mJson.put("description", m.getDescription());
                 }
-                if (!m.getSignatures().isEmpty()) {
+                if (!options && !m.getSignatures().isEmpty()) {
                     mJson.put("signatures", new JsonArray(m.getSignatures()));
                 }
-                mJson.put("properties", asJsonObject(m.getOptions()));
+                if (options) {
+                    mJson.put("properties", asJsonObject(m.getOptions()));
+                }
                 methods.put(m.getName(), mJson);
             });
         });
diff --git a/tooling/camel-tooling-model/src/test/java/org/apache/camel/tooling/model/ApiComponentModelTest.java b/tooling/camel-tooling-model/src/test/java/org/apache/camel/tooling/model/ApiComponentModelTest.java
index 4ff2d43..73c6cd4 100644
--- a/tooling/camel-tooling-model/src/test/java/org/apache/camel/tooling/model/ApiComponentModelTest.java
+++ b/tooling/camel-tooling-model/src/test/java/org/apache/camel/tooling/model/ApiComponentModelTest.java
@@ -22,13 +22,11 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 
 import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 public class ApiComponentModelTest {
 
     @Test
-    @Disabled
     public void loadTwilioSchema() throws Exception {
         InputStream is = ApiComponentModelTest.class.getClassLoader().getResourceAsStream("twilio.json");
         String json = loadText(is);
@@ -38,7 +36,15 @@ public class ApiComponentModelTest {
         Assertions.assertTrue(model.isApi());
         Assertions.assertEquals("apiName/methodName", model.getApiPropertyQualifier());
         Assertions.assertEquals(56, model.getApiOptions().size());
-        //        Assertions.assertEquals(7, model.getApiOptions().get("call").size());
+        ApiModel am = model.getApiOptions().stream().filter(a -> a.getName().equals("call")).findFirst().orElse(null);
+        Assertions.assertNotNull(am);
+        Assertions.assertEquals("call", am.getName());
+        Assertions.assertEquals(null, am.getDescription());
+        ApiMethodModel amm = am.getMethods().stream().filter(a -> a.getName().equals("creator")).findFirst().orElse(null);
+        Assertions.assertNotNull(amm);
+        Assertions.assertEquals("creator", amm.getName());
+        Assertions.assertEquals("Create a CallCreator to execute create", amm.getDescription());
+        Assertions.assertEquals(6, amm.getSignatures().size());
     }
 
     /**
diff --git a/tooling/camel-tooling-model/src/test/resources/twilio.json b/tooling/camel-tooling-model/src/test/resources/twilio.json
index a676d01..eed63f3 100644
--- a/tooling/camel-tooling-model/src/test/resources/twilio.json
+++ b/tooling/camel-tooling-model/src/test/resources/twilio.json
@@ -25,7 +25,7 @@
   "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": false, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+    "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." },
@@ -33,13 +33,13 @@
     "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 [...]
+    "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." },
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "in-only", "in-out", "in-optional-out" ], "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" },
@@ -51,70 +51,128 @@
     "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." },
+    "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." },
+    "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." }
   },
+  "apis": {
+    "recording-add-on-result-payload": { "methods": { "deleter": { "description": "Create a PayloadDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.addonresult.PayloadDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathAddOnResultSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.addonresult.PayloadDeleter deleter(String pathReferenceSid, String pathAddOnResultSid, String pathSid)" ] }, "fetcher": { "descript [...]
+    "usage-record-today": { "methods": { "reader": { "description": "Create a TodayReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.TodayReader reader(String pathAccountSid)" ] } } },
+    "available-phone-number-country-local": { "methods": { "reader": { "description": "Create a LocalReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.LocalReader reader(String pathCountryCode)" ] } } },
+    "call-recording": { "methods": { "creator": { "description": "Create a RecordingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathAccountSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.call.RecordingCreator creator(String pathCallSid)" ] }, "deleter": { "description": "Create a RecordingDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.call.RecordingDeleter deleter(String  [...]
+    "queue-member": { "methods": { "fetcher": { "description": "Create a MemberFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathAccountSid, String pathQueueSid, String pathCallSid)", "com.twilio.rest.api.v2010.account.queue.MemberFetcher fetcher(String pathQueueSid, String pathCallSid)" ] }, "reader": { "description": "Create a MemberReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.queue.Member [...]
+    "usage-trigger": { "methods": { "creator": { "description": "Create a TriggerCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.usage.TriggerCreator creator(String pathAccountSid, java.net.URI callbackUrl, String triggerValue, com.twilio.rest.api.v2010.account.usage.Trigger$UsageCategory usageCategory)", "com.twilio.rest.api.v2010.account.usage.TriggerCreator creator(java.net.URI callbackUrl, String triggerValue, com.twilio.rest.api.v2010.account.usage.Tri [...]
+    "usage-record-last-month": { "methods": { "reader": { "description": "Create a LastMonthReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.LastMonthReader reader(String pathAccountSid)" ] } } },
+    "usage-record-all-time": { "methods": { "reader": { "description": "Create a AllTimeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader()", "com.twilio.rest.api.v2010.account.usage.record.AllTimeReader reader(String pathAccountSid)" ] } } },
+    "recording-transcription": { "methods": { "deleter": { "description": "Create a TranscriptionDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String pathAccountSid, String pathRecordingSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.TranscriptionDeleter deleter(String pathRecordingSid, String pathSid)" ] }, "fetcher": { "description": "Create a TranscriptionFetcher to execute fetch", "signatures" [...]
+    "message": { "methods": { "creator": { "description": "Create a MessageCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.MessageCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber to, String messagingServiceSid, String body)", "com.twilio.rest.api.v2010.account.MessageCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber to, String messagingServiceSid, java.util.List<java.net.URI> mediaUrl)", "com.twilio.rest.api.v2010.account. [...]
+    "call-feedback-summary": { "methods": { "creator": { "description": "Create a FeedbackSummaryCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.FeedbackSummaryCreator creator(String pathAccountSid, org.joda.time.LocalDate startDate, org.joda.time.LocalDate endDate)", "com.twilio.rest.api.v2010.account.call.FeedbackSummaryCreator creator(org.joda.time.LocalDate startDate, org.joda.time.LocalDate endDate)" ] }, "deleter": { "description": "Create a Feed [...]
+    "sip-credential-list-credential": { "methods": { "creator": { "description": "Create a CredentialCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.credentiallist.CredentialCreator creator(String pathAccountSid, String pathCredentialListSid, String username, String password)", "com.twilio.rest.api.v2010.account.sip.credentiallist.CredentialCreator creator(String pathCredentialListSid, String username, String password)" ] }, "deleter": { "description":  [...]
+    "new-key": { "methods": { "creator": { "description": "Create a NewKeyCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.NewKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewKeyCreator creator(String pathAccountSid)" ] } } },
+    "incoming-phone-number": { "methods": { "creator": { "description": "Create a IncomingPhoneNumberCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String areaCode)", "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String pathAccountSid, String areaCode)", "com.twilio.rest.api.v2010.account.IncomingPhoneNumberCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twili [...]
+    "call-notification": { "methods": { "fetcher": { "description": "Create a NotificationFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathAccountSid, String pathCallSid, String pathSid)", "com.twilio.rest.api.v2010.account.call.NotificationFetcher fetcher(String pathCallSid, String pathSid)" ] }, "reader": { "description": "Create a NotificationReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.acc [...]
+    "validation-request": { "methods": { "creator": { "description": "Create a ValidationRequestCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.ValidationRequestCreator creator(com.twilio.type.PhoneNumber phoneNumber)" ] } } },
+    "usage-record-yesterday": { "methods": { "reader": { "description": "Create a YesterdayReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YesterdayReader reader(String pathAccountSid)" ] } } },
+    "usage-record-this-month": { "methods": { "reader": { "description": "Create a ThisMonthReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader()", "com.twilio.rest.api.v2010.account.usage.record.ThisMonthReader reader(String pathAccountSid)" ] } } },
+    "new-signing-key": { "methods": { "creator": { "description": "Create a NewSigningKeyCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator()", "com.twilio.rest.api.v2010.account.NewSigningKeyCreator creator(String pathAccountSid)" ] } } },
+    "conference": { "methods": { "fetcher": { "description": "Create a ConferenceFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ConferenceFetcher fetcher(String pathSid)" ] }, "reader": { "description": "Create a ConferenceReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.ConferenceReader reader()", "com.twilio.rest.api.v2010.accou [...]
+    "usage-record-daily": { "methods": { "reader": { "description": "Create a DailyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.DailyReader reader(String pathAccountSid)" ] } } },
+    "application": { "methods": { "creator": { "description": "Create a ApplicationCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.ApplicationCreator creator()", "com.twilio.rest.api.v2010.account.ApplicationCreator creator(String pathAccountSid)" ] }, "deleter": { "description": "Create a ApplicationDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.ApplicationDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio. [...]
+    "usage-record": { "methods": { "reader": { "description": "Create a RecordReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.RecordReader reader()", "com.twilio.rest.api.v2010.account.usage.RecordReader reader(String pathAccountSid)" ] } } },
+    "available-phone-number-country-mobile": { "methods": { "reader": { "description": "Create a MobileReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.MobileReader reader(String pathCountryCode)" ] } } },
+    "conference-participant": { "methods": { "creator": { "description": "Create a ParticipantCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.conference.ParticipantCreator creator(String pathAccountSid, String pathConferenceSid, com.twilio.type.PhoneNumber from, com.twilio.type.PhoneNumber to)", "com.twilio.rest.api.v2010.account.conference.ParticipantCreator creator(String pathConferenceSid, com.twilio.type.PhoneNumber from, com.twilio.type.PhoneNumber to) [...]
+    "recording-add-on-result": { "methods": { "deleter": { "description": "Create a AddOnResultDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathAccountSid, String pathReferenceSid, String pathSid)", "com.twilio.rest.api.v2010.account.recording.AddOnResultDeleter deleter(String pathReferenceSid, String pathSid)" ] }, "fetcher": { "description": "Create a AddOnResultFetcher to execute fetch", "signatures": [ "com [...]
+    "notification": { "methods": { "fetcher": { "description": "Create a NotificationFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.NotificationFetcher fetcher(String pathSid)" ] }, "reader": { "description": "Create a NotificationReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.NotificationReader reader()", "com.twilio.rest.api [...]
+    "sip-domain-ip-access-control-list-mapping": { "methods": { "creator": { "description": "Create a IpAccessControlListMappingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMappingCreator creator(String pathAccountSid, String pathDomainSid, String ipAccessControlListSid)", "com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMappingCreator creator(String pathDomainSid, String ipAccessControlListSid)" ] }, "delete [...]
+    "sip-domain": { "methods": { "creator": { "description": "Create a DomainCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String domainName)", "com.twilio.rest.api.v2010.account.sip.DomainCreator creator(String pathAccountSid, String domainName)" ] }, "deleter": { "description": "Create a DomainDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.sip.DomainDeleter deleter(String pathAccountSid, String p [...]
+    "address": { "methods": { "creator": { "description": "Create a AddressCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.AddressCreator creator(String customerName, String street, String city, String region, String postalCode, String isoCountry)", "com.twilio.rest.api.v2010.account.AddressCreator creator(String pathAccountSid, String customerName, String street, String city, String region, String postalCode, String isoCountry)" ] }, "deleter": { "descript [...]
+    "message-media": { "methods": { "deleter": { "description": "Create a MediaDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathAccountSid, String pathMessageSid, String pathSid)", "com.twilio.rest.api.v2010.account.message.MediaDeleter deleter(String pathMessageSid, String pathSid)" ] }, "fetcher": { "description": "Create a MediaFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.message.Med [...]
+    "sip-ip-access-control-list-ip-address": { "methods": { "creator": { "description": "Create a IpAddressCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddressCreator creator(String pathAccountSid, String pathIpAccessControlListSid, String friendlyName, String ipAddress)", "com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddressCreator creator(String pathIpAccessControlListSid, String friendlyName, String ipAddress)" [...]
+    "available-phone-number-country": { "methods": { "fetcher": { "description": "Create a AvailablePhoneNumberCountryFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetcher(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountryFetcher fetcher(String pathCountryCode)" ] }, "reader": { "description": "Create a AvailablePhoneNumberCountryReader to execute read", "signat [...]
+    "usage-record-yearly": { "methods": { "reader": { "description": "Create a YearlyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.YearlyReader reader(String pathAccountSid)" ] } } },
+    "queue": { "methods": { "creator": { "description": "Create a QueueCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.QueueCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.QueueCreator creator(String pathAccountSid, String friendlyName)" ] }, "deleter": { "description": "Create a QueueDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.QueueDeleter deleter(String pathAccountSid, String pathSid)", "com.twi [...]
+    "transcription": { "methods": { "deleter": { "description": "Create a TranscriptionDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.TranscriptionDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a TranscriptionFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.TranscriptionFetcher fetcher(String pathA [...]
+    "sip-domain-credential-list-mapping": { "methods": { "creator": { "description": "Create a CredentialListMappingCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.domain.CredentialListMappingCreator creator(String pathAccountSid, String pathDomainSid, String credentialListSid)", "com.twilio.rest.api.v2010.account.sip.domain.CredentialListMappingCreator creator(String pathDomainSid, String credentialListSid)" ] }, "deleter": { "description": "Create a C [...]
+    "call-feedback": { "methods": { "creator": { "description": "Create a FeedbackCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathAccountSid, String pathCallSid, Integer qualityScore)", "com.twilio.rest.api.v2010.account.call.FeedbackCreator creator(String pathCallSid, Integer qualityScore)" ] }, "fetcher": { "description": "Create a FeedbackFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account [...]
+    "key": { "methods": { "deleter": { "description": "Create a KeyDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.KeyDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a KeyFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.KeyFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.acco [...]
+    "incoming-phone-number-toll-free": { "methods": { "creator": { "description": "Create a TollFreeCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.TollFreeCreator creator(com.twilio.type.PhoneNumber phoneNumber)" ] }, "reader": { "description": "Create a TollFreeReader to execute read", "signat [...]
+    "token": { "methods": { "creator": { "description": "Create a TokenCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.TokenCreator creator()", "com.twilio.rest.api.v2010.account.TokenCreator creator(String pathAccountSid)" ] } } },
+    "short-code": { "methods": { "fetcher": { "description": "Create a ShortCodeFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ShortCodeFetcher fetcher(String pathSid)" ] }, "reader": { "description": "Create a ShortCodeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.ShortCodeReader reader()", "com.twilio.rest.api.v2010.account.Sh [...]
+    "available-phone-number-country-toll-free": { "methods": { "reader": { "description": "Create a TollFreeReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader reader(String pathAccountSid, String pathCountryCode)", "com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFreeReader reader(String pathCountryCode)" ] } } },
+    "usage-record-monthly": { "methods": { "reader": { "description": "Create a MonthlyReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader()", "com.twilio.rest.api.v2010.account.usage.record.MonthlyReader reader(String pathAccountSid)" ] } } },
+    "sip-ip-access-control-list": { "methods": { "creator": { "description": "Create a IpAccessControlListCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.IpAccessControlListCreator creator(String pathAccountSid, String friendlyName)" ] }, "deleter": { "description": "Create a IpAccessControlListDeleter to execute delete", "signatures": [ "com.twilio.rest.api [...]
+    "connect-app": { "methods": { "deleter": { "description": "Create a ConnectAppDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.ConnectAppDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a ConnectAppFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.ConnectAppFetcher fetcher(String pathAccountSid, String [...]
+    "address-dependent-phone-number": { "methods": { "reader": { "description": "Create a DependentPhoneNumberReader to execute read", "signatures": [ "com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pathAccountSid, String pathAddressSid)", "com.twilio.rest.api.v2010.account.address.DependentPhoneNumberReader reader(String pathAddressSid)" ] } } },
+    "signing-key": { "methods": { "deleter": { "description": "Create a SigningKeyDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.SigningKeyDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a SigningKeyFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.SigningKeyFetcher fetcher(String pathAccountSid, String [...]
+    "outgoing-caller-id": { "methods": { "deleter": { "description": "Create a OutgoingCallerIdDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.OutgoingCallerIdDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a OutgoingCallerIdFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.OutgoingCallerIdFetcher  [...]
+    "call": { "methods": { "creator": { "description": "Create a CallCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.CallCreator creator(String pathAccountSid, com.twilio.type.Endpoint to, com.twilio.type.Endpoint from, String applicationSid)", "com.twilio.rest.api.v2010.account.CallCreator creator(String pathAccountSid, com.twilio.type.Endpoint to, com.twilio.type.Endpoint from, com.twilio.type.Twiml twiml)", "com.twilio.rest.api.v2010.account.CallCreator  [...]
+    "incoming-phone-number-local": { "methods": { "creator": { "description": "Create a LocalCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.LocalCreator creator(com.twilio.type.PhoneNumber phoneNumber)" ] }, "reader": { "description": "Create a LocalReader to execute read", "signatures": [ "com.tw [...]
+    "message-feedback": { "methods": { "creator": { "description": "Create a FeedbackCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathAccountSid, String pathMessageSid)", "com.twilio.rest.api.v2010.account.message.FeedbackCreator creator(String pathMessageSid)" ] } } },
+    "recording": { "methods": { "deleter": { "description": "Create a RecordingDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathAccountSid, String pathSid)", "com.twilio.rest.api.v2010.account.RecordingDeleter deleter(String pathSid)" ] }, "fetcher": { "description": "Create a RecordingFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.account.RecordingFetcher fetcher(String pathAccountSid, String pathSi [...]
+    "incoming-phone-number-mobile": { "methods": { "creator": { "description": "Create a MobileCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(String pathAccountSid, com.twilio.type.PhoneNumber phoneNumber)", "com.twilio.rest.api.v2010.account.incomingphonenumber.MobileCreator creator(com.twilio.type.PhoneNumber phoneNumber)" ] }, "reader": { "description": "Create a MobileReader to execute read", "signatures": [ "c [...]
+    "account": { "methods": { "fetcher": { "description": "Create a AccountFetcher to execute fetch", "signatures": [ "com.twilio.rest.api.v2010.AccountFetcher fetcher()", "com.twilio.rest.api.v2010.AccountFetcher fetcher(String pathSid)" ] }, "updater": { "description": "Create a AccountUpdater to execute update", "signatures": [ "com.twilio.rest.api.v2010.AccountUpdater updater()", "com.twilio.rest.api.v2010.AccountUpdater updater(String pathSid)" ] } } },
+    "sip-credential-list": { "methods": { "creator": { "description": "Create a CredentialListCreator to execute create", "signatures": [ "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String friendlyName)", "com.twilio.rest.api.v2010.account.sip.CredentialListCreator creator(String pathAccountSid, String friendlyName)" ] }, "deleter": { "description": "Create a CredentialListDeleter to execute delete", "signatures": [ "com.twilio.rest.api.v2010.account.sip.Credenti [...]
+  },
   "apiProperties": {
-    "account": { "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" } },
-    "address": { "city": { "kind": "parameter", "displayName": "City", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The city of the new address" }, "customerName": { "kind": "parameter", "displayName": "Customer Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The name [...]
-    "address-dependent-phone-number": { "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" }, "pathAddressSid": { "kind": "parameter", "displayName": "Path Address Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "j [...]
-    "application": { "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" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false,  [...]
-    "available-phone-number-country": { "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 requesting the available phone number Country resource" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "s [...]
-    "available-phone-number-country-local": { "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 requesting the AvailablePhoneNumber resources" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "stri [...]
-    "available-phone-number-country-mobile": { "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 requesting the AvailablePhoneNumber resources" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "str [...]
-    "available-phone-number-country-toll-free": { "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 requesting the AvailablePhoneNumber resources" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": " [...]
-    "call": { "applicationSid": { "kind": "parameter", "displayName": "Application Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The SID of the Application resource that will handle the call" }, "from": { "kind": "parameter", "displayName": "From", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.Endpoint", "deprecated": false [...]
-    "call-feedback": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The unique sid that identifies this account" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
-    "call-feedback-summary": { "endDate": { "kind": "parameter", "displayName": "End Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.joda.time.LocalDate", "deprecated": false, "secret": false, "description": "Only include feedback given on or before this date" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depre [...]
-    "call-notification": { "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 resource to fetch" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", " [...]
-    "call-recording": { "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" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecat [...]
-    "conference": { "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 resource(s) to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated":  [...]
-    "conference-participant": { "from": { "kind": "parameter", "displayName": "From", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "The phone number, Client identifier, or username portion of SIP address that made this call." }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string" [...]
-    "connect-app": { "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 resource to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": fa [...]
-    "incoming-phone-number": { "areaCode": { "kind": "parameter", "displayName": "Area Code", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The desired area code for the new phone number" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": f [...]
-    "incoming-phone-number-local": { "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" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type. [...]
-    "incoming-phone-number-mobile": { "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" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type [...]
-    "incoming-phone-number-toll-free": { "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" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.t [...]
-    "key": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, " [...]
-    "message": { "body": { "kind": "parameter", "displayName": "Body", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The text of the message you want to send. Can be up to 1,600 characters in length." }, "from": { "kind": "parameter", "displayName": "From", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": [...]
-    "message-feedback": { "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" }, "pathMessageSid": { "kind": "parameter", "displayName": "Path Message Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", " [...]
-    "message-media": { "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 resource(s) to delete" }, "pathMessageSid": { "kind": "parameter", "displayName": "Path Message Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Stri [...]
-    "new-key": { "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" } },
-    "new-signing-key": { "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" } },
-    "notification": { "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 resource to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": f [...]
-    "outgoing-caller-id": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprec [...]
-    "queue": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A string to describe this resource" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "queue-member": { "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 resource(s) to fetch" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "de [...]
-    "recording": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": fa [...]
-    "recording-add-on-result": { "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 delete" }, "pathReferenceSid": { "kind": "parameter", "displayName": "Path Reference Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "ja [...]
-    "recording-add-on-result-payload": { "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 delete" }, "pathAddOnResultSid": { "kind": "parameter", "displayName": "Path Add On Result Sid", "group": "common", "label": "", "required": false, "type": "string", " [...]
-    "recording-transcription": { "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 delete" }, "pathRecordingSid": { "kind": "parameter", "displayName": "Path Recording Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "ja [...]
-    "short-code": { "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 resource(s) to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated":  [...]
-    "signing-key": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The account_sid" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The  [...]
-    "sip-credential-list": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Human readable descriptive text" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "se [...]
-    "sip-credential-list-credential": { "password": { "kind": "parameter", "displayName": "Password", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The password will not be returned in the response" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "dep [...]
-    "sip-domain": { "domainName": { "kind": "parameter", "displayName": "Domain Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The unique address on Twilio to route SIP traffic" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
-    "sip-domain-credential-list-mapping": { "credentialListSid": { "kind": "parameter", "displayName": "Credential List Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A string that identifies the CredentialList resource to map to the SIP domain" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "t [...]
-    "sip-domain-ip-access-control-list-mapping": { "ipAccessControlListSid": { "kind": "parameter", "displayName": "Ip Access Control List Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The unique id of the IP access control list to map to the SIP domain" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": [...]
-    "sip-ip-access-control-list": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A human readable description of this resource" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "de [...]
-    "sip-ip-access-control-list-ip-address": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A human readable descriptive text for this resource, up to 64 characters long." }, "ipAddress": { "kind": "parameter", "displayName": "Ip Address", "group": "common", "label": "", "required": false, "type": "string", "j [...]
-    "token": { "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" } },
-    "transcription": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated" [...]
-    "usage-record": { "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": { "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-daily": { "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-last-month": { "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-monthly": { "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": { "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-today": { "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-yearly": { "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-yesterday": { "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-trigger": { "callbackUrl": { "kind": "parameter", "displayName": "Callback Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.net.URI", "deprecated": false, "secret": false, "description": "The URL we call when the trigger fires" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret" [...]
-    "validation-request": { "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 responsible for the new Caller ID" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.Phone [...]
+    "recording-add-on-result-payload": { "methods": { "deleter": { "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 delete" }, "pathAddOnResultSid": { "kind": "parameter", "displayName": "Path Add On Result Sid", "group": "common", "label":  [...]
+    "usage-record-today": { "methods": { "reader": { "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": { "methods": { "reader": { "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 requesting the AvailablePhoneNumber resources" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "lab [...]
+    "call-recording": { "methods": { "creator": { "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" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "string", [...]
+    "queue-member": { "methods": { "fetcher": { "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 resource(s) to fetch" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "st [...]
+    "usage-trigger": { "methods": { "creator": { "properties": { "callbackUrl": { "kind": "parameter", "displayName": "Callback Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.net.URI", "deprecated": false, "secret": false, "description": "The URL we call when the trigger fires" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.l [...]
+    "usage-record-last-month": { "methods": { "reader": { "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": { "methods": { "reader": { "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": { "methods": { "deleter": { "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 delete" }, "pathRecordingSid": { "kind": "parameter", "displayName": "Path Recording Sid", "group": "common", "label": "", "required" [...]
+    "message": { "methods": { "creator": { "properties": { "body": { "kind": "parameter", "displayName": "Body", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The text of the message you want to send. Can be up to 1,600 characters in length." }, "from": { "kind": "parameter", "displayName": "From", "group": "common", "label": "", "required": false, "type": "object", "javaType": "c [...]
+    "call-feedback-summary": { "methods": { "creator": { "properties": { "endDate": { "kind": "parameter", "displayName": "End Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.joda.time.LocalDate", "deprecated": false, "secret": false, "description": "Only include feedback given on or before this date" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "strin [...]
+    "sip-credential-list-credential": { "methods": { "creator": { "properties": { "password": { "kind": "parameter", "displayName": "Password", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The password will not be returned in the response" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "str [...]
+    "new-key": { "methods": { "creator": { "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": { "methods": { "creator": { "properties": { "areaCode": { "kind": "parameter", "displayName": "Area Code", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The desired area code for the new phone number" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "java [...]
+    "call-notification": { "methods": { "fetcher": { "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 resource to fetch" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": " [...]
+    "validation-request": { "methods": { "creator": { "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 responsible for the new Caller ID" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "o [...]
+    "usage-record-yesterday": { "methods": { "reader": { "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": { "methods": { "reader": { "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": { "methods": { "creator": { "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": { "methods": { "fetcher": { "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 resource(s) to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "jav [...]
+    "usage-record-daily": { "methods": { "reader": { "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": { "methods": { "creator": { "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" } } }, "deleter": { "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "",  [...]
+    "usage-record": { "methods": { "reader": { "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": { "methods": { "reader": { "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 requesting the AvailablePhoneNumber resources" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "la [...]
+    "conference-participant": { "methods": { "creator": { "properties": { "from": { "kind": "parameter", "displayName": "From", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "The phone number, Client identifier, or username portion of SIP address that made this call." }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label [...]
+    "recording-add-on-result": { "methods": { "deleter": { "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 delete" }, "pathReferenceSid": { "kind": "parameter", "displayName": "Path Reference Sid", "group": "common", "label": "", "required" [...]
+    "notification": { "methods": { "fetcher": { "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 resource to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "java [...]
+    "sip-domain-ip-access-control-list-mapping": { "methods": { "creator": { "properties": { "ipAccessControlListSid": { "kind": "parameter", "displayName": "Ip Access Control List Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The unique id of the IP access control list to map to the SIP domain" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", " [...]
+    "sip-domain": { "methods": { "creator": { "properties": { "domainName": { "kind": "parameter", "displayName": "Domain Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The unique address on Twilio to route SIP traffic" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType [...]
+    "address": { "methods": { "creator": { "properties": { "city": { "kind": "parameter", "displayName": "City", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The city of the new address" }, "customerName": { "kind": "parameter", "displayName": "Customer Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, [...]
+    "message-media": { "methods": { "deleter": { "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 resource(s) to delete" }, "pathMessageSid": { "kind": "parameter", "displayName": "Path Message Sid", "group": "common", "label": "", "required": false, "ty [...]
+    "sip-ip-access-control-list-ip-address": { "methods": { "creator": { "properties": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A human readable descriptive text for this resource, up to 64 characters long." }, "ipAddress": { "kind": "parameter", "displayName": "Ip Address", "group": "common", "label": " [...]
+    "available-phone-number-country": { "methods": { "fetcher": { "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 requesting the available phone number Country resource" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common",  [...]
+    "usage-record-yearly": { "methods": { "reader": { "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": { "methods": { "creator": { "properties": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A string to describe this resource" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.St [...]
+    "transcription": { "methods": { "deleter": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "j [...]
+    "sip-domain-credential-list-mapping": { "methods": { "creator": { "properties": { "credentialListSid": { "kind": "parameter", "displayName": "Credential List Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A string that identifies the CredentialList resource to map to the SIP domain" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "c [...]
+    "call-feedback": { "methods": { "creator": { "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 unique sid that identifies this account" }, "pathCallSid": { "kind": "parameter", "displayName": "Path Call Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType [...]
+    "key": { "methods": { "deleter": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType":  [...]
+    "incoming-phone-number-toll-free": { "methods": { "creator": { "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" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, " [...]
+    "token": { "methods": { "creator": { "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": { "methods": { "fetcher": { "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 resource(s) to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "jav [...]
+    "available-phone-number-country-toll-free": { "methods": { "reader": { "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 requesting the AvailablePhoneNumber resources" }, "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common",  [...]
+    "usage-record-monthly": { "methods": { "reader": { "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": { "methods": { "creator": { "properties": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "A human readable description of this resource" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "st [...]
+    "connect-app": { "methods": { "deleter": { "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 resource to fetch" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaT [...]
+    "address-dependent-phone-number": { "methods": { "reader": { "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" }, "pathAddressSid": { "kind": "parameter", "displayName": "Path Address Sid", "group": "common", "label": "", "required" [...]
+    "signing-key": { "methods": { "deleter": { "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 account_sid" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": fa [...]
+    "outgoing-caller-id": { "methods": { "deleter": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string [...]
+    "call": { "methods": { "creator": { "properties": { "applicationSid": { "kind": "parameter", "displayName": "Application Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The SID of the Application resource that will handle the call" }, "from": { "kind": "parameter", "displayName": "From", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com. [...]
+    "incoming-phone-number-local": { "methods": { "creator": { "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" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type [...]
+    "message-feedback": { "methods": { "creator": { "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" }, "pathMessageSid": { "kind": "parameter", "displayName": "Path Message Sid", "group": "common", "label": "", "required": false, "type": " [...]
+    "recording": { "methods": { "deleter": { "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 delete" }, "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaT [...]
+    "incoming-phone-number-mobile": { "methods": { "creator": { "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" }, "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "typ [...]
+    "account": { "methods": { "fetcher": { "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": { "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang [...]
+    "sip-credential-list": { "methods": { "creator": { "properties": { "friendlyName": { "kind": "parameter", "displayName": "Friendly Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Human readable descriptive text" }, "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "j [...]
   }
 }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index de19c24..2fde5f1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -30,30 +30,3 @@ The @{title} endpoint has no query parameters.
 @end{}|===
 @end{}
 
-@if{!apiOptions.isEmpty()}
-
-=== Query API Parameters (@{apiOptions.size()} APIs):
-
-The @{title} endpoint is an API based component and has additional parameters based on which API name and method in use.
-The API name and method is located in the endpoint URI as the @{apiPropertyQualifier} path parameters:
-
-----
-@{syntax}
-----
-
-The following lists each API name and method and its additional parameters.
-
-@foreach{api : apiOptions.entrySet()}
-==== @{api.key}
-@if{api.value.isEmpty()}
-The @{api.key} method has no API parameters.
-@else{}
-[width="100%",cols="2,5,3",options="header"]
-|===@comment{ Render table cells. If description contains newline, prefix cell with `a`, so the content is rendered with formatting. }
-| Name | Description | Type
-@foreach{row : api.value}| *@{row.getShortName(30)}* @{row.description.?contains("\n") ? "a" : ""}| @{util.escape(row.description)} | @{row.getShortJavaType()}
-@end{}|===
-@end{}
-@end{}
-
-@end{}