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/15 15:56:51 UTC

[camel] 02/22: CAMEL-15478: api-component should generate @ApiParam with more fine grained details so we know which parameter is for which api method.

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 3e6f1ba5d17ed6a817a506a7e808560fbc46556f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Sep 12 09:46:10 2020 +0200

    CAMEL-15478: api-component should generate @ApiParam with more fine grained details so we know which parameter is for which api method.
---
 .../org/apache/camel/catalog/components/as2.json   |    4 +-
 .../org/apache/camel/catalog/components/box.json   |   20 +-
 .../apache/camel/catalog/components/braintree.json |   31 +-
 .../org/apache/camel/catalog/components/fhir.json  |   26 +-
 .../catalog/components/google-calendar-stream.json |   15 +-
 .../camel/catalog/components/google-calendar.json  |   15 +-
 .../camel/catalog/components/google-drive.json     |   25 +-
 .../catalog/components/google-mail-stream.json     |   14 +-
 .../camel/catalog/components/google-mail.json      |   14 +-
 .../catalog/components/google-sheets-stream.json   |    4 +-
 .../camel/catalog/components/google-sheets.json    |    4 +-
 .../apache/camel/catalog/components/olingo2.json   |    2 +-
 .../apache/camel/catalog/components/olingo4.json   |    2 +-
 .../apache/camel/catalog/components/twilio.json    |  112 +-
 .../apache/camel/catalog/components/zendesk.json   |    2 +-
 .../apache/camel/catalog/docs/as2-component.adoc   |   48 -
 .../apache/camel/catalog/docs/box-component.adoc   |  186 --
 .../camel/catalog/docs/braintree-component.adoc    |  191 --
 .../apache/camel/catalog/docs/fhir-component.adoc  |  194 --
 .../catalog/docs/google-calendar-component.adoc    |   94 -
 .../docs/google-calendar-stream-component.adoc     |   94 -
 .../camel/catalog/docs/google-drive-component.adoc |  149 --
 .../camel/catalog/docs/google-mail-component.adoc  |   93 -
 .../catalog/docs/google-mail-stream-component.adoc |   93 -
 .../catalog/docs/google-sheets-component.adoc      |   43 -
 .../docs/google-sheets-stream-component.adoc       |   43 -
 .../camel/catalog/docs/olingo2-component.adoc      |   29 -
 .../camel/catalog/docs/olingo4-component.adoc      |   29 -
 .../camel/catalog/docs/twilio-component.adoc       |  612 -----
 .../camel/catalog/docs/zendesk-component.adoc      |  137 -
 .../as2/AS2ClientManagerEndpointConfiguration.java |   55 +-
 .../as2/AS2ServerManagerEndpointConfiguration.java |    5 +-
 .../org/apache/camel/component/as2/as2.json        |    4 +-
 .../src/main/docs/as2-component.adoc               |   48 -
 ...CollaborationsManagerEndpointConfiguration.java |   20 +-
 .../BoxCommentsManagerEndpointConfiguration.java   |   13 +-
 .../BoxEventLogsManagerEndpointConfiguration.java  |   16 +-
 .../box/BoxEventsManagerEndpointConfiguration.java |    7 +-
 .../box/BoxFilesManagerEndpointConfiguration.java  |   94 +-
 .../BoxFoldersManagerEndpointConfiguration.java    |   46 +-
 .../box/BoxGroupsManagerEndpointConfiguration.java |   40 +-
 .../box/BoxSearchManagerEndpointConfiguration.java |   10 +-
 .../box/BoxTasksManagerEndpointConfiguration.java  |   28 +-
 .../box/BoxUsersManagerEndpointConfiguration.java  |   40 +-
 .../org/apache/camel/component/box/box.json        |   20 +-
 .../src/main/docs/box-component.adoc               |  186 --
 .../AddOnGatewayEndpointConfiguration.java         |    4 +-
 .../AddressGatewayEndpointConfiguration.java       |   13 +-
 .../ClientTokenGatewayEndpointConfiguration.java   |    5 +-
 ...rdVerificationGatewayEndpointConfiguration.java |    7 +-
 .../CustomerGatewayEndpointConfiguration.java      |   16 +-
 .../DiscountGatewayEndpointConfiguration.java      |    4 +-
 .../DisputeGatewayEndpointConfiguration.java       |   28 +-
 ...DocumentUploadGatewayEndpointConfiguration.java |    5 +-
 ...erchantAccountGatewayEndpointConfiguration.java |    8 +-
 .../PaymentMethodGatewayEndpointConfiguration.java |    8 +-
 ...entMethodNonceGatewayEndpointConfiguration.java |    7 +-
 .../PlanGatewayEndpointConfiguration.java          |    4 +-
 .../ReportGatewayEndpointConfiguration.java        |    7 +-
 ...ntBatchSummaryGatewayEndpointConfiguration.java |    6 +-
 .../SubscriptionGatewayEndpointConfiguration.java  |   17 +-
 .../TransactionGatewayEndpointConfiguration.java   |   16 +-
 ...okNotificationGatewayEndpointConfiguration.java |    7 +-
 .../camel/component/braintree/braintree.json       |   31 +-
 .../src/main/docs/braintree-component.adoc         |  191 --
 .../FhirCapabilitiesEndpointConfiguration.java     |    6 +-
 .../fhir/FhirCreateEndpointConfiguration.java      |   19 +-
 .../fhir/FhirDeleteEndpointConfiguration.java      |   22 +-
 .../fhir/FhirHistoryEndpointConfiguration.java     |   11 +-
 .../fhir/FhirLoadPageEndpointConfiguration.java    |    8 +-
 .../fhir/FhirMetaEndpointConfiguration.java        |    9 +-
 .../fhir/FhirOperationEndpointConfiguration.java   |   16 +-
 .../fhir/FhirPatchEndpointConfiguration.java       |   22 +-
 .../fhir/FhirReadEndpointConfiguration.java        |   17 +-
 .../fhir/FhirSearchEndpointConfiguration.java      |   10 +-
 .../fhir/FhirTransactionEndpointConfiguration.java |   16 +-
 .../fhir/FhirUpdateEndpointConfiguration.java      |   11 +-
 .../fhir/FhirValidateEndpointConfiguration.java    |    7 +-
 .../org/apache/camel/component/fhir/fhir.json      |   26 +-
 .../src/main/docs/fhir-component.adoc              |  194 --
 .../calendar/CalendarAclEndpointConfiguration.java |   16 +-
 .../CalendarCalendarListEndpointConfiguration.java |   13 +-
 .../CalendarCalendarsEndpointConfiguration.java    |   10 +-
 .../CalendarChannelsEndpointConfiguration.java     |    7 +-
 .../CalendarColorsEndpointConfiguration.java       |    4 +-
 .../CalendarEventsEndpointConfiguration.java       |   22 +-
 .../CalendarFreebusyEndpointConfiguration.java     |    7 +-
 .../CalendarSettingsEndpointConfiguration.java     |   10 +-
 .../component/google/calendar/google-calendar.json |   15 +-
 .../calendar/stream/google-calendar-stream.json    |   15 +-
 .../src/main/docs/google-calendar-component.adoc   |   94 -
 .../docs/google-calendar-stream-component.adoc     |   94 -
 .../drive/DriveAboutEndpointConfiguration.java     |    4 +-
 .../drive/DriveAppsEndpointConfiguration.java      |    7 +-
 .../drive/DriveChangesEndpointConfiguration.java   |   10 +-
 .../drive/DriveChannelsEndpointConfiguration.java  |    7 +-
 .../drive/DriveChildrenEndpointConfiguration.java  |   13 +-
 .../drive/DriveCommentsEndpointConfiguration.java  |   13 +-
 .../drive/DriveFilesEndpointConfiguration.java     |   19 +-
 .../drive/DriveParentsEndpointConfiguration.java   |   13 +-
 .../DrivePermissionsEndpointConfiguration.java     |   16 +-
 .../DrivePropertiesEndpointConfiguration.java      |   13 +-
 .../drive/DriveRealtimeEndpointConfiguration.java  |   10 +-
 .../drive/DriveRepliesEndpointConfiguration.java   |   16 +-
 .../drive/DriveRevisionsEndpointConfiguration.java |   13 +-
 .../camel/component/google/drive/google-drive.json |   25 +-
 .../src/main/docs/google-drive-component.adoc      |  149 --
 .../GmailUsersDraftsEndpointConfiguration.java     |   16 +-
 .../mail/GmailUsersEndpointConfiguration.java      |   10 +-
 .../GmailUsersHistoryEndpointConfiguration.java    |    7 +-
 .../GmailUsersLabelsEndpointConfiguration.java     |   13 +-
 ...rsMessagesAttachmentsEndpointConfiguration.java |   13 +-
 .../GmailUsersMessagesEndpointConfiguration.java   |   25 +-
 .../GmailUsersThreadsEndpointConfiguration.java    |   13 +-
 .../camel/component/google/mail/google-mail.json   |   14 +-
 .../google/mail/stream/google-mail-stream.json     |   14 +-
 .../src/main/docs/google-mail-component.adoc       |   93 -
 .../main/docs/google-mail-stream-component.adoc    |   93 -
 .../SheetsSpreadsheetsEndpointConfiguration.java   |   16 +-
 ...etsSpreadsheetsValuesEndpointConfiguration.java |   31 +-
 .../component/google/sheets/google-sheets.json     |    4 +-
 .../google/sheets/stream/google-sheets-stream.json |    4 +-
 .../src/main/docs/google-sheets-component.adoc     |   43 -
 .../main/docs/google-sheets-stream-component.adoc  |   43 -
 .../olingo2/Olingo2AppEndpointConfiguration.java   |   11 +-
 .../apache/camel/component/olingo2/olingo2.json    |    2 +-
 .../src/main/docs/olingo2-component.adoc           |   29 -
 .../olingo4/Olingo4AppEndpointConfiguration.java   |   11 +-
 .../apache/camel/component/olingo4/olingo4.json    |    2 +-
 .../src/main/docs/olingo4-component.adoc           |   29 -
 .../twilio/AccountEndpointConfiguration.java       |    3 +-
 ...sDependentPhoneNumberEndpointConfiguration.java |    3 +-
 .../twilio/AddressEndpointConfiguration.java       |    3 +-
 .../twilio/ApplicationEndpointConfiguration.java   |    3 +-
 ...blePhoneNumberCountryEndpointConfiguration.java |    3 +-
 ...oneNumberCountryLocalEndpointConfiguration.java |    3 +-
 ...neNumberCountryMobileEndpointConfiguration.java |    3 +-
 ...NumberCountryTollFreeEndpointConfiguration.java |    3 +-
 .../twilio/CallEndpointConfiguration.java          |    3 +-
 .../twilio/CallFeedbackEndpointConfiguration.java  |    3 +-
 .../CallFeedbackSummaryEndpointConfiguration.java  |    3 +-
 .../CallNotificationEndpointConfiguration.java     |    3 +-
 .../twilio/CallRecordingEndpointConfiguration.java |    3 +-
 .../twilio/ConferenceEndpointConfiguration.java    |    3 +-
 ...ConferenceParticipantEndpointConfiguration.java |    3 +-
 .../twilio/ConnectAppEndpointConfiguration.java    |    3 +-
 .../IncomingPhoneNumberEndpointConfiguration.java  |    3 +-
 ...omingPhoneNumberLocalEndpointConfiguration.java |    3 +-
 ...mingPhoneNumberMobileEndpointConfiguration.java |    3 +-
 ...ngPhoneNumberTollFreeEndpointConfiguration.java |    3 +-
 .../component/twilio/KeyEndpointConfiguration.java |    3 +-
 .../twilio/MessageEndpointConfiguration.java       |    3 +-
 .../MessageFeedbackEndpointConfiguration.java      |    3 +-
 .../twilio/MessageMediaEndpointConfiguration.java  |    3 +-
 .../twilio/NewKeyEndpointConfiguration.java        |    3 +-
 .../twilio/NewSigningKeyEndpointConfiguration.java |    3 +-
 .../twilio/NotificationEndpointConfiguration.java  |    3 +-
 .../OutgoingCallerIdEndpointConfiguration.java     |    3 +-
 .../twilio/QueueEndpointConfiguration.java         |    3 +-
 .../twilio/QueueMemberEndpointConfiguration.java   |    3 +-
 .../RecordingAddOnResultEndpointConfiguration.java |    3 +-
 ...ingAddOnResultPayloadEndpointConfiguration.java |    3 +-
 .../twilio/RecordingEndpointConfiguration.java     |    3 +-
 ...ecordingTranscriptionEndpointConfiguration.java |    3 +-
 .../twilio/ShortCodeEndpointConfiguration.java     |    3 +-
 .../twilio/SigningKeyEndpointConfiguration.java    |    3 +-
 .../twilio/SipCredentialEndpointConfiguration.java |    3 +-
 .../SipCredentialListEndpointConfiguration.java    |    3 +-
 ...CredentialListMappingEndpointConfiguration.java |    3 +-
 .../twilio/SipDomainEndpointConfiguration.java     |    3 +-
 ...essControlListMappingEndpointConfiguration.java |    3 +-
 ...ipIpAccessControlListEndpointConfiguration.java |    3 +-
 ...sControlListIpAddressEndpointConfiguration.java |    3 +-
 .../twilio/TokenEndpointConfiguration.java         |    3 +-
 .../twilio/TranscriptionEndpointConfiguration.java |    3 +-
 .../UsageRecordAllTimeEndpointConfiguration.java   |    3 +-
 .../UsageRecordDailyEndpointConfiguration.java     |    3 +-
 .../twilio/UsageRecordEndpointConfiguration.java   |    3 +-
 .../UsageRecordLastMonthEndpointConfiguration.java |    3 +-
 .../UsageRecordMonthlyEndpointConfiguration.java   |    3 +-
 .../UsageRecordThisMonthEndpointConfiguration.java |    3 +-
 .../UsageRecordTodayEndpointConfiguration.java     |    3 +-
 .../UsageRecordYearlyEndpointConfiguration.java    |    3 +-
 .../UsageRecordYesterdayEndpointConfiguration.java |    3 +-
 .../twilio/UsageTriggerEndpointConfiguration.java  |    3 +-
 .../ValidationRequestEndpointConfiguration.java    |    3 +-
 .../org/apache/camel/component/twilio/twilio.json  | 2718 +-------------------
 .../zendesk/ZendeskEndpointConfiguration.java      |  119 +-
 .../apache/camel/component/zendesk/zendesk.json    |    2 +-
 .../src/main/docs/zendesk-component.adoc           |  137 -
 .../camel/spi/{ApiParam.java => ApiMethod.java}    |   23 +-
 .../java/org/apache/camel/spi/ApiParam.java        |    2 +
 .../java/org/apache/camel/spi/ApiParams.java       |   13 +-
 .../modules/ROOT/pages/as2-component.adoc          |   48 -
 .../modules/ROOT/pages/box-component.adoc          |  186 --
 .../modules/ROOT/pages/braintree-component.adoc    |  191 --
 .../modules/ROOT/pages/fhir-component.adoc         |  194 --
 .../ROOT/pages/google-calendar-component.adoc      |   94 -
 .../pages/google-calendar-stream-component.adoc    |   94 -
 .../modules/ROOT/pages/google-drive-component.adoc |  149 --
 .../modules/ROOT/pages/google-mail-component.adoc  |   93 -
 .../ROOT/pages/google-mail-stream-component.adoc   |   93 -
 .../ROOT/pages/google-sheets-component.adoc        |   43 -
 .../ROOT/pages/google-sheets-stream-component.adoc |   43 -
 .../modules/ROOT/pages/olingo2-component.adoc      |   29 -
 .../modules/ROOT/pages/olingo4-component.adoc      |   29 -
 .../modules/ROOT/pages/twilio-component.adoc       |  612 -----
 .../modules/ROOT/pages/zendesk-component.adoc      |  137 -
 .../maven/AbstractApiMethodGeneratorMojo.java      |   19 +-
 .../src/main/resources/api-endpoint-config.vm      |    3 +-
 .../main/java/org/apache/camel/spi/ApiMethod.java  |   23 +-
 .../main/java/org/apache/camel/spi/ApiParam.java   |    2 +
 .../main/java/org/apache/camel/spi/ApiParams.java  |   13 +-
 213 files changed, 1407 insertions(+), 8776 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/as2.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/as2.json
index 9043dfc..6b32b94 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/as2.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/as2.json
@@ -82,7 +82,7 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "client": { "as2From": { "kind": "parameter", "displayName": "As2 From", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "AS2 name of sender" }, "as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2MessageStructure", "enum": [ "P [...]
-    "server": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } }
+    "client": { "apiName": "client", "methods": { "send": { "apiMethodName": "send", "description": "Message subject", "properties": { "subject": { "kind": "parameter", "displayName": "Subject", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "server": { "apiName": "server", "methods": { "listen": { "apiMethodName": "listen", "description": "", "properties": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json
index aa9faff3..4a5e50d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json
@@ -86,15 +86,15 @@
     "userPassword": { "kind": "parameter", "displayName": "User Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call" }
   },
   "apiProperties": {
-    "collaborations": { "collaborationId": { "kind": "parameter", "displayName": "Collaboration Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of comment to change" }, "collaborator": { "kind": "parameter", "displayName": "Collaborator", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaborator", "deprecated": false, " [...]
-    "comments": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of comment to change" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id o [...]
-    "event-logs": { "after": { "kind": "parameter", "displayName": "After", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "description": "The lower bound on the timestamp of the events returned" }, "before": { "kind": "parameter", "displayName": "Before", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "descrip [...]
-    "events": { "startingPosition": { "kind": "parameter", "displayName": "Starting Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "The starting position of the event stream" } },
-    "files": { "access": { "kind": "parameter", "displayName": "Access", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxSharedLink.Access", "enum": [ "DEFAULT", "OPEN", "COMPANY", "COLLABORATORS" ], "deprecated": false, "secret": false, "description": "The access level of the shared link" }, "check": { "kind": "parameter", "displayName": "Check", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang. [...]
-    "folders": { "access": { "kind": "parameter", "displayName": "Access", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxSharedLink.Access", "enum": [ "DEFAULT", "OPEN", "COMPANY", "COLLABORATORS" ], "deprecated": false, "secret": false, "description": "The access level of the shared link" }, "destinationFolderId": { "kind": "parameter", "displayName": "Destination Folder Id", "group": "common", "label": "", "required": false, "type": "s [...]
-    "groups": { "description": { "kind": "parameter", "displayName": "Description", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The description of the new group" }, "externalSyncIdentifier": { "kind": "parameter", "displayName": "External Sync Identifier", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "s [...]
-    "search": { "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of folder searched" }, "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The search query" } },
-    "tasks": { "action": { "kind": "parameter", "displayName": "Action", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxTask.Action", "enum": [ "REVIEW", "COMPLETE" ], "deprecated": false, "secret": false, "description": "The action the task assignee will be prompted to do" }, "assignTo": { "kind": "parameter", "displayName": "Assign To", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxUser [...]
-    "users": { "email": { "kind": "parameter", "displayName": "Email", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The email address to add as an alias" }, "emailAliasId": { "kind": "parameter", "displayName": "Email Alias Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": [...]
+    "files": { "apiName": "files", "methods": { "deleteFileVersion": { "apiMethodName": "deleteFileVersion", "description": "The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on.", "properties": { "version": { "kind": "parameter", "displayName": "Version", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "" } } }, "downloadPrev [...]
+    "search": { "apiName": "search", "methods": { "searchFolder": { "apiMethodName": "searchFolder", "description": "The search query", "properties": { "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "comments": { "apiName": "comments", "methods": { "addFileComment": { "apiMethodName": "addFileComment", "description": "The comment's message", "properties": { "message": { "kind": "parameter", "displayName": "Message", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "changeCommentMessage": { "apiMethodName": "changeCommentMessage", "description": "The comment's messag [...]
+    "event-logs": { "apiName": "event-logs", "methods": { "getEnterpriseEvents": { "apiMethodName": "getEnterpriseEvents", "description": "An optional list of event types to filter by", "properties": { "types": { "kind": "parameter", "displayName": "Types", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxEvent.Type[]", "deprecated": false, "secret": false, "description": "" } } } } },
+    "collaborations": { "apiName": "collaborations", "methods": { "addFolderCollaboration": { "apiMethodName": "addFolderCollaboration", "description": "The role of the collaborator", "properties": { "role": { "kind": "parameter", "displayName": "Role", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaboration.Role", "enum": [ "EDITOR", "VIEWER", "PREVIEWER", "UPLOADER", "PREVIEWER_UPLOADER", "VIEWER_UPLOADER", "CO_OWNER", "OWNER" ], " [...]
+    "tasks": { "apiName": "tasks", "methods": { "addAssignmentToTask": { "apiMethodName": "addAssignmentToTask", "description": "The id of task to add assignment for", "properties": { "taskId": { "kind": "parameter", "displayName": "Task Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "deleteTask": { "apiMethodName": "deleteTask", "description": "The id of task to add  [...]
+    "events": { "apiName": "events", "methods": { "listen": { "apiMethodName": "listen", "description": "The starting position of the event stream", "properties": { "startingPosition": { "kind": "parameter", "displayName": "Starting Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "" } } } } },
+    "groups": { "apiName": "groups", "methods": { "addGroupMembership": { "apiMethodName": "addGroupMembership", "description": "The id of user to be added to group", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "users": { "apiName": "users", "methods": { "addUserEmailAlias": { "apiMethodName": "addUserEmailAlias", "description": "The id of user", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "deleteUser": { "apiMethodName": "deleteUser", "description": "The id of user", "properties": { "userId": { "ki [...]
+    "folders": { "apiName": "folders", "methods": { "createFolderSharedLink": { "apiMethodName": "createFolderSharedLink", "description": "The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created.", "properties": { "unshareDate": { "kind": "parameter", "displayName": "Unshare Date", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json
index 22851fb..9d244be 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/braintree.json
@@ -67,22 +67,19 @@
     "publicKey": { "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.braintree.BraintreeConfiguration", "configurationField": "configuration", "description": "The public key provided by Braintree." }
   },
   "apiProperties": {
-    "addOn": {  },
-    "address": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Address [...]
-    "clientToken": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "" } },
-    "creditCardVerification": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationSearchRequest", "deprecated": false, "secret": false, "description":  [...]
-    "customer": { "associationFilterId": { "kind": "parameter", "displayName": "Association Filter Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the association filter to use" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false,  [...]
-    "discount": {  },
-    "dispute": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The content of the text evidence for the dispute" }, "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "de [...]
-    "documentUpload": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "" } },
-    "merchantAccount": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountCreateForCurrencyRequest", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "paymentMethod": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodDeleteRequest", "deprecated": false, "secret": false, "description": "" }, "grantRequest": { "kind": "parameter", "displayName": "Grant Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodGrantRequest", "de [...]
-    "paymentMethodNonce": { "paymentMethodNonce": { "kind": "parameter", "displayName": "Payment Method Nonce", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "plan": {  },
-    "report": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request" } },
-    "settlementBatchSummary": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Calendar", "deprecated": false, "secret": false, [...]
-    "subscription": { "amount": { "kind": "parameter", "displayName": "Amount", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.math.BigDecimal", "deprecated": false, "secret": false, "description": "" }, "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "para [...]
-    "transaction": { "amount": { "kind": "parameter", "displayName": "Amount", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.math.BigDecimal", "deprecated": false, "secret": false, "description": "" }, "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionCloneRequest", "deprecated": false, "secret": false, "descriptio [...]
-    "webhookNotification": { "challenge": { "kind": "parameter", "displayName": "Challenge", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "signature": { "kin [...]
+    "paymentMethodNonce": { "apiName": "paymentMethodNonce", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodNonceRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "documentUpload": { "apiName": "documentUpload", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "subscription": { "apiName": "subscription", "methods": { "retryCharge": { "apiMethodName": "retryCharge", "description": "", "properties": { "subscriptionId": { "kind": "parameter", "displayName": "Subscription Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "dispute": { "apiName": "dispute", "methods": { "addTextEvidence": { "apiMethodName": "addTextEvidence", "description": "The text evidence request for the dispute", "properties": { "textEvidenceRequest": { "kind": "parameter", "displayName": "Text Evidence Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TextEvidenceRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "settlementBatchSummary": { "apiName": "settlementBatchSummary", "methods": { "generate": { "apiMethodName": "generate", "description": "", "properties": { "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Calendar", "deprecated": false, "secret": false, "description": "" } } } } },
+    "address": { "apiName": "address", "methods": { "create": { "apiMethodName": "create", "description": "The request object", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.AddressRequest", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The request object", "properties": { "request": {  [...]
+    "webhookNotification": { "apiName": "webhookNotification", "methods": { "parse": { "apiMethodName": "parse", "description": "", "properties": { "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "creditCardVerification": { "apiName": "creditCardVerification", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "transaction": { "apiName": "transaction", "methods": { "credit": { "apiMethodName": "credit", "description": "The request", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionRequest", "deprecated": false, "secret": false, "description": "" } } }, "sale": { "apiMethodName": "sale", "description": "The request", "properties": { "request": { "kind" [...]
+    "report": { "apiName": "report", "methods": { "transactionLevelFees": { "apiMethodName": "transactionLevelFees", "description": "The request", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "paymentMethod": { "apiName": "paymentMethod", "methods": { "delete": { "apiMethodName": "delete", "description": "", "properties": { "token": { "kind": "parameter", "displayName": "Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "find": { "apiMethodName": "find", "description": "", "properties": { "token": { "kind": "parameter", "displayName": "Token", "group": [...]
+    "clientToken": { "apiName": "clientToken", "methods": { "generate": { "apiMethodName": "generate", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "merchantAccount": { "apiName": "merchantAccount", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "", "properties": { "request": { "kind": "par [...]
+    "customer": { "apiName": "customer", "methods": { "create": { "apiMethodName": "create", "description": "The request", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The request", "properties": { "request": { "kind": "pa [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json
index 92d08ed..8eb6897 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/fhir.json
@@ -102,18 +102,18 @@
     "username": { "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.fhir.FhirConfiguration", "configurationField": "configuration", "description": "Username to use for basic authentication" }
   },
   "apiProperties": {
-    "capabilities": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "type": { "kind": "parameter", "displayName": "Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class<org.hl7.fhir. [...]
-    "create": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "preferReturn": { "kind": "parameter", "displayName": "Prefer Return", "group": "common",  [...]
-    "delete": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "require [...]
-    "history": { "count": { "kind": "parameter", "displayName": "Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "" }, "cutoff": { "kind": "parameter", "displayName": "Cutoff", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "description": "" }, "extraParameters": { "kind": "parameter", [...]
-    "load-page": { "bundle": { "kind": "parameter", "displayName": "Bundle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IBaseBundle", "deprecated": false, "secret": false, "description": "" }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, ja [...]
-    "meta": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IIdType", [...]
-    "operation": { "asynchronous": { "kind": "parameter", "displayName": "Asynchronous", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "description": "" }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Objec [...]
-    "patch": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required [...]
-    "read": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "iUrl": { "kind": "parameter", "displayName": "IUrl", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IIdTy [...]
-    "search": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "requi [...]
-    "transaction": { "bundle": { "kind": "parameter", "displayName": "Bundle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IBaseBundle", "deprecated": false, "secret": false, "description": "Bundle to use in the transaction" }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.comp [...]
-    "update": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IIdType [...]
-    "validate": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "resource": { "kind": "parameter", "displayName": "Resource", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.mod [...]
+    "update": { "apiName": "update", "methods": { "resourceBySearchUrl": { "apiMethodName": "resourceBySearchUrl", "description": "", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "create": { "apiName": "create", "methods": { "resource": { "apiMethodName": "resource", "description": "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366, may be null", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "d [...]
+    "validate": { "apiName": "validate", "methods": { "resource": { "apiMethodName": "resource", "description": "", "properties": { "resourceAsString": { "kind": "parameter", "displayName": "Resource As String", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "operation": { "apiName": "operation", "methods": { "onInstance": { "apiMethodName": "onInstance", "description": "", "properties": { "useHttpGet": { "kind": "parameter", "displayName": "Use Http Get", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "description": "" } } }, "onInstanceVersion": { "apiMethodName": "onInstanceVersion", "description": "", "properties": { "useHttpGet": { "kind":  [...]
+    "search": { "apiName": "search", "methods": { "searchByUrl": { "apiMethodName": "searchByUrl", "description": "The URL to search for. Note that this URL may be complete (e.g. http:\/\/example.com\/base\/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used.", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, [...]
+    "capabilities": { "apiName": "capabilities", "methods": { "ofType": { "apiMethodName": "ofType", "description": "", "properties": { "type": { "kind": "parameter", "displayName": "Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class<org.hl7.fhir.instance.model.api.IBaseConformance>", "deprecated": false, "secret": false, "description": "" } } } } },
+    "patch": { "apiName": "patch", "methods": { "patchByUrl": { "apiMethodName": "patchByUrl", "description": "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description" [...]
+    "meta": { "apiName": "meta", "methods": { "getFromType": { "apiMethodName": "getFromType", "description": "", "properties": { "theResourceName": { "kind": "parameter", "displayName": "The Resource Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "history": { "apiName": "history", "methods": { "onInstance": { "apiMethodName": "onInstance", "description": "", "properties": { "returnType": { "kind": "parameter", "displayName": "Return Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class<org.hl7.fhir.instance.model.api.IBaseBundle>", "deprecated": false, "secret": false, "description": "" } } }, "onServer": { "apiMethodName": "onServer", "description": "", "properties": { "retu [...]
+    "load-page": { "apiName": "load-page", "methods": { "byUrl": { "apiMethodName": "byUrl", "description": "", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "transaction": { "apiName": "transaction", "methods": { "withBundle": { "apiMethodName": "withBundle", "description": "Bundle to use in the transaction", "properties": { "stringBundle": { "kind": "parameter", "displayName": "String Bundle", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "read": { "apiName": "read", "methods": { "resourceById": { "apiMethodName": "resourceById", "description": "", "properties": { "version": { "kind": "parameter", "displayName": "Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "delete": { "apiName": "delete", "methods": { "resourceConditionalByUrl": { "apiMethodName": "resourceConditionalByUrl", "description": "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false,  [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar-stream.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar-stream.json
index 3b4637a..d274174 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar-stream.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar-stream.json
@@ -75,13 +75,12 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "acl": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group":  [...]
-    "calendars": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "gr [...]
-    "channels": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" } },
-    "colors": {  },
-    "events": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group [...]
-    "freebusy": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.FreeBusyRequest" } },
-    "list": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": [...]
-    "settings": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" }, "setting": { "kind": "parameter", "displayName": "Setting", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.Str [...]
+    "settings": { "apiName": "settings", "methods": { "get": { "apiMethodName": "get", "description": "The id of the user setting", "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "freebusy": { "apiName": "freebusy", "methods": { "query": { "apiMethodName": "query", "description": "The com.google.api.services.calendar.model.FreeBusyRequest", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "events": { "apiName": "events", "methods": { "quickAdd": { "apiMethodName": "quickAdd", "description": "The text describing the event to be created", "properties": { "text": { "kind": "parameter", "displayName": "Text", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "channels": { "apiName": "channels", "methods": { "stop": { "apiMethodName": "stop", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "acl": { "apiName": "acl", "methods": { "delete": { "apiMethodName": "delete", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayName": "Rule Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayNa [...]
+    "calendars": { "apiName": "calendars", "methods": { "insert": { "apiMethodName": "insert", "description": "The com.google.api.services.calendar.model.Calendar", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Calendar", "deprecated": false, "secret": false, "description": "" } } }, "patch": { "apiMethodName": "patch", "description": "T [...]
+    "list": { "apiName": "list", "methods": { "watch": { "apiMethodName": "watch", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
index e8912ae..314d28a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
@@ -75,13 +75,12 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one [...]
   },
   "apiProperties": {
-    "acl": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": "c [...]
-    "calendars": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "grou [...]
-    "channels": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" } },
-    "colors": {  },
-    "events": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": [...]
-    "freebusy": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.FreeBusyRequest" } },
-    "list": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": " [...]
-    "settings": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" }, "setting": { "kind": "parameter", "displayName": "Setting", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String" [...]
+    "settings": { "apiName": "settings", "methods": { "get": { "apiMethodName": "get", "description": "The id of the user setting", "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "freebusy": { "apiName": "freebusy", "methods": { "query": { "apiMethodName": "query", "description": "The com.google.api.services.calendar.model.FreeBusyRequest", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "events": { "apiName": "events", "methods": { "quickAdd": { "apiMethodName": "quickAdd", "description": "The text describing the event to be created", "properties": { "text": { "kind": "parameter", "displayName": "Text", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "channels": { "apiName": "channels", "methods": { "stop": { "apiMethodName": "stop", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "acl": { "apiName": "acl", "methods": { "delete": { "apiMethodName": "delete", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayName": "Rule Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayName [...]
+    "calendars": { "apiName": "calendars", "methods": { "insert": { "apiMethodName": "insert", "description": "The com.google.api.services.calendar.model.Calendar", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Calendar", "deprecated": false, "secret": false, "description": "" } } }, "patch": { "apiMethodName": "patch", "description": "The [...]
+    "list": { "apiName": "list", "methods": { "watch": { "apiMethodName": "watch", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json
index faab461..be3ca73 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-drive.json
@@ -70,18 +70,17 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.drive.GoogleDriveConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expir [...]
   },
   "apiProperties": {
-    "drive-about": {  },
-    "drive-apps": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the app" } },
-    "drive-changes": { "changeId": { "kind": "parameter", "displayName": "Change Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the change" }, "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "s [...]
-    "drive-channels": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Channel" } },
-    "drive-children": { "childId": { "kind": "parameter", "displayName": "Child Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the child" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.ChildReference", "deprecated": false, "secret": fa [...]
-    "drive-comments": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Comment", "deprecated": false, "secret": fal [...]
-    "drive-files": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.File", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.File" }, "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.dr [...]
-    "drive-parents": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.ParentReference", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.ParentReference" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", [...]
-    "drive-permissions": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Permission", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Permission" }, "email": { "kind": "parameter", "displayName": "Email", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
-    "drive-properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Property", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Property" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecate [...]
-    "drive-realtime": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file that the Realtime API data model is associated with" }, "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.client.http [...]
-    "drive-replies": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.CommentReply", "deprecated": false, "secret": [...]
-    "drive-revisions": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Revision", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Revision" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated [...]
+    "drive-channels": { "apiName": "drive-channels", "methods": { "stop": { "apiMethodName": "stop", "description": "The com.google.api.services.drive.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-revisions": { "apiName": "drive-revisions", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the revision", "properties": { "revisionId": { "kind": "parameter", "displayName": "Revision Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the revision", "properties": { "revisi [...]
+    "drive-replies": { "apiName": "drive-replies", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the reply", "properties": { "replyId": { "kind": "parameter", "displayName": "Reply Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the reply", "properties": { "replyId": { "kind": "p [...]
+    "drive-permissions": { "apiName": "drive-permissions", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID for the permission", "properties": { "permissionId": { "kind": "parameter", "displayName": "Permission Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID for the permission", "properti [...]
+    "drive-parents": { "apiName": "drive-parents", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the parent", "properties": { "parentId": { "kind": "parameter", "displayName": "Parent Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the parent", "properties": { "parentId": { "kind [...]
+    "drive-apps": { "apiName": "drive-apps", "methods": { "get": { "apiMethodName": "get", "description": "The ID of the app", "properties": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-changes": { "apiName": "drive-changes", "methods": { "watch": { "apiMethodName": "watch", "description": "The com.google.api.services.drive.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-comments": { "apiName": "drive-comments", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the file", "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the file", "properties": { "fileId": { "kind": "para [...]
+    "drive-properties": { "apiName": "drive-properties", "methods": { "delete": { "apiMethodName": "delete", "description": "The key of the property", "properties": { "propertyKey": { "kind": "parameter", "displayName": "Property Key", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The key of the property", "properties": { " [...]
+    "drive-realtime": { "apiName": "drive-realtime", "methods": { "update": { "apiMethodName": "update", "description": "The media HTTP content or null if none", "properties": { "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.client.http.AbstractInputStreamContent", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-children": { "apiName": "drive-children", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the folder", "properties": { "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the folder", "properties": { "folderId": { "ki [...]
+    "drive-files": { "apiName": "drive-files", "methods": { "export": { "apiMethodName": "export", "description": "The MIME type of the format requested for this export", "properties": { "mimeType": { "kind": "parameter", "displayName": "Mime Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail-stream.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail-stream.json
index ef3fe7b..b91f8f8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail-stream.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail-stream.json
@@ -71,12 +71,12 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "attachments": { "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the attachment" }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the [...]
-    "drafts": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Draft", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Draft media metadata or null if none" }, "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String",  [...]
-    "history": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me" } },
-    "labels": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Label", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Label" }, "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret":  [...]
-    "messages": { "batchDeleteMessagesRequest": { "kind": "parameter", "displayName": "Batch Delete Messages Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest" }, "batchModifyMessagesRequest": { "kind": "parameter", "displayName": "Batch Modify Messages Request" [...]
-    "threads": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.ModifyThreadRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.ModifyThreadRequest" }, "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "d [...]
-    "users": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.WatchRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.WatchRequest" }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecat [...]
+    "users": { "apiName": "users", "methods": { "getProfile": { "apiMethodName": "getProfile", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "stop": { "apiMethodName": "sto [...]
+    "threads": { "apiName": "threads", "methods": { "delete": { "apiMethodName": "delete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "d [...]
+    "drafts": { "apiName": "drafts", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete" [...]
+    "labels": { "apiName": "labels", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete" [...]
+    "history": { "apiName": "history", "methods": { "list": { "apiMethodName": "list", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "attachments": { "apiName": "attachments", "methods": { "get": { "apiMethodName": "get", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "messages": { "apiName": "messages", "methods": { "batchDelete": { "apiMethodName": "batchDelete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "batchModify": { "apiMe [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json
index 38fafd9..e95c22e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-mail.json
@@ -67,12 +67,12 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.mail.GoogleMailConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires [...]
   },
   "apiProperties": {
-    "attachments": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the attachment" }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the mes [...]
-    "drafts": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Draft", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Draft media metadata or null if none" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "dep [...]
-    "history": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me" } },
-    "labels": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Label", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Label" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "messages": { "batchDeleteMessagesRequest": { "kind": "parameter", "displayName": "Batch Delete Messages Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest" }, "batchModifyMessagesRequest": { "kind": "parameter", "displayName": "Batch Modify Messages Request",  [...]
-    "threads": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.ModifyThreadRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.ModifyThreadRequest" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depre [...]
-    "users": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.WatchRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.WatchRequest" }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": [...]
+    "users": { "apiName": "users", "methods": { "getProfile": { "apiMethodName": "getProfile", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "stop": { "apiMethodName": "stop" [...]
+    "threads": { "apiName": "threads", "methods": { "delete": { "apiMethodName": "delete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "des [...]
+    "drafts": { "apiName": "drafts", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete",  [...]
+    "labels": { "apiName": "labels", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete",  [...]
+    "history": { "apiName": "history", "methods": { "list": { "apiMethodName": "list", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "attachments": { "apiName": "attachments", "methods": { "get": { "apiMethodName": "get", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "messages": { "apiName": "messages", "methods": { "batchDelete": { "apiMethodName": "batchDelete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "batchModify": { "apiMeth [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets-stream.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets-stream.json
index 262a887..3d7204d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets-stream.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets-stream.json
@@ -80,7 +80,7 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "data": { "batchClearValuesRequest": { "kind": "parameter", "displayName": "Batch Clear Values Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchClearValuesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchClearValuesRequest" }, "batchGetValuesByDataFilterRequest": { "kind": "parameter", "displayName": "Batch Get Values By Data Filter [...]
-    "spreadsheets": { "batchUpdateSpreadsheetRequest": { "kind": "parameter", "displayName": "Batch Update Spreadsheet Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest" }, "content": { "kind": "parameter", "displayName": "Content", "group": "consu [...]
+    "spreadsheets": { "apiName": "spreadsheets", "methods": { "batchUpdate": { "apiMethodName": "batchUpdate", "description": "The spreadsheet to apply the updates to", "properties": { "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The spreadsheet to  [...]
+    "data": { "apiName": "data", "methods": { "append": { "apiMethodName": "append", "description": "The com.google.api.services.sheets.v4.model.ValueRange", "properties": { "values": { "kind": "parameter", "displayName": "Values", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.ValueRange", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The c [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json
index 5b6c625..ec0acba 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-sheets.json
@@ -68,7 +68,7 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expir [...]
   },
   "apiProperties": {
-    "data": { "batchClearValuesRequest": { "kind": "parameter", "displayName": "Batch Clear Values Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchClearValuesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchClearValuesRequest" }, "batchGetValuesByDataFilterRequest": { "kind": "parameter", "displayName": "Batch Get Values By Data Filter R [...]
-    "spreadsheets": { "batchUpdateSpreadsheetRequest": { "kind": "parameter", "displayName": "Batch Update Spreadsheet Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common" [...]
+    "spreadsheets": { "apiName": "spreadsheets", "methods": { "batchUpdate": { "apiMethodName": "batchUpdate", "description": "The spreadsheet to apply the updates to", "properties": { "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The spreadsheet to ap [...]
+    "data": { "apiName": "data", "methods": { "append": { "apiMethodName": "append", "description": "The com.google.api.services.sheets.v4.model.ValueRange", "properties": { "values": { "kind": "parameter", "displayName": "Values", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.ValueRange", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The com [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo2.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo2.json
index 1aaf1b4..bfa566a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo2.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo2.json
@@ -83,6 +83,6 @@
     "sslContextParameters": { "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.olingo2.Olingo2Configuration", "configurationField": "configuration", "description": "To configure security using SSLContextParameters" }
   },
   "apiProperties": {
-    "DEFAULT": { "data": { "kind": "parameter", "displayName": "Data", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "description": "" }, "edm": { "kind": "parameter", "displayName": "Edm", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.olingo.odata2.api.edm.Edm", "deprecated": false, "secret": false, "description": "" }, "endpointHttpHeaders": { "kin [...]
+    "DEFAULT": { "apiName": "DEFAULT", "methods": { "batch": { "apiMethodName": "batch", "description": "", "properties": { "responseHandler": { "kind": "parameter", "displayName": "Response Handler", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.olingo2.api.Olingo2ResponseHandler", "deprecated": false, "secret": false, "description": "" } } }, "create": { "apiMethodName": "create", "description": "", "properties": { "respons [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo4.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo4.json
index db8cb5a..919eb53 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo4.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/olingo4.json
@@ -79,6 +79,6 @@
     "sslContextParameters": { "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.olingo4.Olingo4Configuration", "configurationField": "configuration", "description": "To configure security using SSLContextParameters" }
   },
   "apiProperties": {
-    "DEFAULT": { "data": { "kind": "parameter", "displayName": "Data", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "description": "" }, "edm": { "kind": "parameter", "displayName": "Edm", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.olingo.commons.api.edm.Edm", "deprecated": false, "secret": false, "description": "" }, "endpointHttpHeaders": { "ki [...]
+    "DEFAULT": { "apiName": "DEFAULT", "methods": { "action": { "apiMethodName": "action", "description": "", "properties": { "responseHandler": { "kind": "parameter", "displayName": "Response Handler", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.olingo4.api.Olingo4ResponseHandler", "deprecated": false, "secret": false, "description": "" } } }, "batch": { "apiMethodName": "batch", "description": "", "properties": { "respons [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/twilio.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/twilio.json
index eb7b96c..f2078fd 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/twilio.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/twilio.json
@@ -60,61 +60,61 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "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": { "apiName": "recording-add-on-result-payload", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "des [...]
+    "usage-record-today": { "apiName": "usage-record-today", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "available-phone-number-country-local": { "apiName": "available-phone-number-country-local", "methods": { "reader": { "apiMethodName": "reader", "description": "The ISO Country code of the country from which to read phone numbers", "properties": { "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "call-recording": { "apiName": "call-recording", "methods": { "updater": { "apiMethodName": "updater", "description": "The new status of the recording", "properties": { "status": { "kind": "parameter", "displayName": "Status", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.rest.api.v2010.account.call.Recording.Status", "enum": [ "in-progress", "paused", "stopped", "processing", "completed", "absent" ], "deprecated": false, "secret": false [...]
+    "queue-member": { "apiName": "queue-member", "methods": { "updater": { "apiMethodName": "updater", "description": "The absolute URL of the Queue resource", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.net.URI", "deprecated": false, "secret": false, "description": "" } } } } },
+    "usage-trigger": { "apiName": "usage-trigger", "methods": { "creator": { "apiMethodName": "creator", "description": "The usage category the trigger watches", "properties": { "usageCategory": { "kind": "parameter", "displayName": "Usage Category", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.rest.api.v2010.account.usage.Trigger.UsageCategory", "enum": [ "agent-conference", "answering-machine-detection", "authy-authentications", "authy-ca [...]
+    "usage-record-last-month": { "apiName": "usage-record-last-month", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "usage-record-all-time": { "apiName": "usage-record-all-time", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "recording-transcription": { "apiName": "recording-transcription", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The  [...]
+    "message": { "apiName": "message", "methods": { "creator": { "apiMethodName": "creator", "description": "The destination phone number", "properties": { "to": { "kind": "parameter", "displayName": "To", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "call-feedback-summary": { "apiName": "call-feedback-summary", "methods": { "creator": { "apiMethodName": "creator", "description": "Only include feedback given on or after this date", "properties": { "startDate": { "kind": "parameter", "displayName": "Start Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.joda.time.LocalDate", "deprecated": false, "secret": false, "description": "" } } } } },
+    "sip-credential-list-credential": { "apiName": "sip-credential-list-credential", "methods": { "creator": { "apiMethodName": "creator", "description": "The username for this credential", "properties": { "username": { "kind": "parameter", "displayName": "Username", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "new-key": { "apiName": "new-key", "methods": { "creator": { "apiMethodName": "creator", "description": "The SID of the Account that will be responsible for the new Key resource", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "incoming-phone-number": { "apiName": "incoming-phone-number", "methods": { "creator": { "apiMethodName": "creator", "description": "The phone number to purchase in E.164 format", "properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "call-notification": { "apiName": "call-notification", "methods": { "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "validation-request": { "apiName": "validation-request", "methods": { "creator": { "apiMethodName": "creator", "description": "The phone number to verify in E.164 format", "properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "usage-record-yesterday": { "apiName": "usage-record-yesterday", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "usage-record-this-month": { "apiName": "usage-record-this-month", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "new-signing-key": { "apiName": "new-signing-key", "methods": { "creator": { "apiMethodName": "creator", "description": "The SID of the Account that will be responsible for the new Key resource", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "conference": { "apiName": "conference", "methods": { "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifies this resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "updater": { "apiMethodName": "updater", "description": "The unique string that identi [...]
+    "usage-record-daily": { "apiName": "usage-record-daily", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "application": { "apiName": "application", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that ident [...]
+    "usage-record": { "apiName": "usage-record", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "available-phone-number-country-mobile": { "apiName": "available-phone-number-country-mobile", "methods": { "reader": { "apiMethodName": "reader", "description": "The ISO Country code of the country from which to read phone numbers", "properties": { "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "conference-participant": { "apiName": "conference-participant", "methods": { "creator": { "apiMethodName": "creator", "description": "The phone number, SIP address or Client identifier that received this call.", "properties": { "to": { "kind": "parameter", "displayName": "To", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "recording-add-on-result": { "apiName": "recording-add-on-result", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource to delete", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "descripti [...]
+    "notification": { "apiName": "notification", "methods": { "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "sip-domain-ip-access-control-list-mapping": { "apiName": "sip-domain-ip-access-control-list-mapping", "methods": { "deleter": { "apiMethodName": "deleter", "description": "A 34 character string that uniquely identifies the resource to delete.", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, " [...]
+    "sip-domain": { "apiName": "sip-domain", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identif [...]
+    "address": { "apiName": "address", "methods": { "creator": { "apiMethodName": "creator", "description": "The number and street address of the new address", "properties": { "street": { "kind": "parameter", "displayName": "Street", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "message-media": { "apiName": "message-media", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies this resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that  [...]
+    "sip-ip-access-control-list-ip-address": { "apiName": "sip-ip-access-control-list-ip-address", "methods": { "deleter": { "apiMethodName": "deleter", "description": "A string that identifies the resource to delete", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "f [...]
+    "available-phone-number-country": { "apiName": "available-phone-number-country", "methods": { "fetcher": { "apiMethodName": "fetcher", "description": "The ISO country code of the country to fetch available phone number information about", "properties": { "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": " [...]
+    "usage-record-yearly": { "apiName": "usage-record-yearly", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "queue": { "apiName": "queue", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies this resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifies this  [...]
+    "transcription": { "apiName": "transcription", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that i [...]
+    "sip-domain-credential-list-mapping": { "apiName": "sip-domain-credential-list-mapping", "methods": { "deleter": { "apiMethodName": "deleter", "description": "A string that identifies the resource to delete", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher [...]
+    "call-feedback": { "apiName": "call-feedback", "methods": { "creator": { "apiMethodName": "creator", "description": "The call quality expressed as an integer from 1 to 5", "properties": { "qualityScore": { "kind": "parameter", "displayName": "Quality Score", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "" } } }, "updater": { "apiMethodName": "updater", "description": "The ca [...]
+    "key": { "apiName": "key", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifies the resour [...]
+    "incoming-phone-number-toll-free": { "apiName": "incoming-phone-number-toll-free", "methods": { "creator": { "apiMethodName": "creator", "description": "The phone number to purchase in E.164 format", "properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "token": { "apiName": "token", "methods": { "creator": { "apiMethodName": "creator", "description": "The SID of the Account that will create the resource", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "short-code": { "apiName": "short-code", "methods": { "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifies this resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "updater": { "apiMethodName": "updater", "description": "The unique string that identi [...]
+    "available-phone-number-country-toll-free": { "apiName": "available-phone-number-country-toll-free", "methods": { "reader": { "apiMethodName": "reader", "description": "The ISO Country code of the country from which to read phone numbers", "properties": { "pathCountryCode": { "kind": "parameter", "displayName": "Path Country Code", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description":  [...]
+    "usage-record-monthly": { "apiName": "usage-record-monthly", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Account that created the resources to read", "properties": { "pathAccountSid": { "kind": "parameter", "displayName": "Path Account Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "sip-ip-access-control-list": { "apiName": "sip-ip-access-control-list", "methods": { "deleter": { "apiMethodName": "deleter", "description": "A string that identifies the resource to delete", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description" [...]
+    "connect-app": { "apiName": "connect-app", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that ident [...]
+    "address-dependent-phone-number": { "apiName": "address-dependent-phone-number", "methods": { "reader": { "apiMethodName": "reader", "description": "The SID of the Address resource associated with the phone number", "properties": { "pathAddressSid": { "kind": "parameter", "displayName": "Path Address Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "signing-key": { "apiName": "signing-key", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The sid", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The sid", "properties": { "pathSid": { "kind": "parameter", "displa [...]
+    "outgoing-caller-id": { "apiName": "outgoing-caller-id", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique str [...]
+    "call": { "apiName": "call", "methods": { "creator": { "apiMethodName": "creator", "description": "The absolute URL that returns TwiML for this call", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.net.URI", "deprecated": false, "secret": false, "description": "" } } } } },
+    "incoming-phone-number-local": { "apiName": "incoming-phone-number-local", "methods": { "creator": { "apiMethodName": "creator", "description": "The phone number to purchase in E.164 format", "properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "message-feedback": { "apiName": "message-feedback", "methods": { "creator": { "apiMethodName": "creator", "description": "The SID of the Message resource for which the feedback was provided", "properties": { "pathMessageSid": { "kind": "parameter", "displayName": "Path Message Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "recording": { "apiName": "recording", "methods": { "deleter": { "apiMethodName": "deleter", "description": "The unique string that identifies the resource", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "The unique string that identifie [...]
+    "incoming-phone-number-mobile": { "apiName": "incoming-phone-number-mobile", "methods": { "creator": { "apiMethodName": "creator", "description": "The phone number to purchase in E.164 format", "properties": { "phoneNumber": { "kind": "parameter", "displayName": "Phone Number", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.twilio.type.PhoneNumber", "deprecated": false, "secret": false, "description": "" } } } } },
+    "account": { "apiName": "account", "methods": { "fetcher": { "apiMethodName": "fetcher", "description": "Fetch by unique Account Sid", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "updater": { "apiMethodName": "updater", "description": "Fetch by unique Account Sid", "properties": { "pathSid" [...]
+    "sip-credential-list": { "apiName": "sip-credential-list", "methods": { "deleter": { "apiMethodName": "deleter", "description": "Delete by unique credential list Sid", "properties": { "pathSid": { "kind": "parameter", "displayName": "Path Sid", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "fetcher": { "apiMethodName": "fetcher", "description": "Delete by unique crede [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json
index 00830a4..1451ad4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/zendesk.json
@@ -66,6 +66,6 @@
     "username": { "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.zendesk.ZendeskConfiguration", "configurationField": "configuration", "description": "The user name." }
   },
   "apiProperties": {
-    "DEFAULT": { "article": { "kind": "parameter", "displayName": "Article", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.zendesk.client.v2.model.hc.Article", "deprecated": false, "secret": false, "description": "" }, "articleAttachments": { "kind": "parameter", "displayName": "Article Attachments", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.zendesk.client.v2.model.hc.ArticleAttachments", "deprecated": fa [...]
+    "DEFAULT": { "apiName": "DEFAULT", "methods": { "createDynamicContentItemVariant": { "apiMethodName": "createDynamicContentItemVariant", "description": "", "properties": { "variant": { "kind": "parameter", "displayName": "Variant", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.zendesk.client.v2.model.dynamic.DynamicContentItemVariant", "deprecated": false, "secret": false, "description": "" } } }, "deleteDynamicContentItemVariant": { "apiMethod [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/as2-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/as2-component.adoc
index be50e58..cec10a6 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/as2-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/as2-component.adoc
@@ -140,54 +140,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The AS2 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 apiName/methodName path parameters:
-
-----
-as2:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== client
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *as2From* | AS2 name of sender | String
-| *as2MessageStructure* | The structure of AS2 to send; see AS2MessageStructure | AS2MessageStructure
-| *as2To* | AS2 name of recipient | String
-| *compressionAlgorithm* | The algorithm used to compress the message or null if sending EDI message uncompressed | AS2CompressionAlgorithm
-| *dispositionNotificationTo* | An RFC2822 address to request a receipt or null if no receipt requested | String
-| *ediMessage* | EDI message to transport | String
-| *ediMessageContentType* | The content typw of EDI message | ContentType
-| *ediMessageTransferEncoding* | The transfer encoding used to transport EDI message | String
-| *encryptingAlgorithm* | The algorithm used to encrypt the message or null if sending EDI message unencrypted | AS2EncryptionAlgorithm
-| *encryptingCertificateChain* | The chain of certificates used to encrypt the message or null if sending EDI message unencrypted | Certificate[]
-| *from* | RFC2822 address of sender | String
-| *requestUri* | Resource location to deliver message | String
-| *signedReceiptMicAlgorithms* | The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt. | String[]
-| *signingAlgorithm* | The algorithm used to sign the message or null if sending EDI message unsigned | AS2SignatureAlgorithm
-| *signingCertificateChain* | The chain of certificates used to sign the message or null if sending EDI message unsigned | Certificate[]
-| *signingPrivateKey* | The private key used to sign EDI message | PrivateKey
-| *subject* | Message subject | String
-|===
-
-
-==== server
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *requestUriPattern* |  | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/box-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/box-component.adoc
index 6eb3b91..3813c1b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/box-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/box-component.adoc
@@ -150,192 +150,6 @@ with the following path and query parameters:
 | *userName* (security) | Box user name, MUST be provided |  | String
 | *userPassword* (security) | Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call |  | String
 |===
-
-
-
-
-=== Query API Parameters (10 APIs):
-
-The Box 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 apiName/methodName path parameters:
-
-----
-box:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== collaborations
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *collaborationId* | The id of comment to change | String
-| *collaborator* | The collaborator to add | BoxCollaborator
-| *email* | The email address of the collaborator to add | String
-| *folderId* | The id of folder to add collaboration to | String
-| *info* |  | Info
-| *role* | The role of the collaborator | Role
-|===
-
-
-==== comments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *commentId* | The id of comment to change | String
-| *fileId* | The id of file to rename | String
-| *message* | The comment's message | String
-|===
-
-
-==== event-logs
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *after* | The lower bound on the timestamp of the events returned | Date
-| *before* | The upper bound on the timestamp of the events returned | Date
-| *position* | The starting position of the event stream. May be null in which case all events within bounds returned. | String
-| *types* | An optional list of event types to filter by | Type[]
-|===
-
-
-==== events
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *startingPosition* | The starting position of the event stream | Long
-|===
-
-
-==== files
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *access* | The access level of the shared link | Access
-| *check* | If the file name is already used, call the uploadNewVersion instead. | Boolean
-| *content* | A stream containing contents of the file to upload | InputStream
-| *created* | The content created date that will be given to the uploaded file | Date
-| *destinationFolderId* | The id of the destination folder | String
-| *fields* | The information fields to retrieve; if null all information fields are retrieved. | String[]
-| *fileContent* | A stream containing contents of the file to upload | InputStream
-| *fileId* | The id of file to copy | String
-| *fileName* | The name to give the uploaded file | String
-| *fileSize* | The size of the file's content used for monitoring the upload's progress | Long
-| *fileType* | Either PNG of JPG | ThumbnailFileType
-| *info* | The updated information | Info
-| *listener* | A listener for monitoring the download's progress; if null the download's progress will not be monitored. | ProgressListener
-| *maxHeight* | Maximum height | Integer
-| *maxWidth* | Maximum width | Integer
-| *metadata* | The new metadata values | Metadata
-| *minHeight* | Minimum height | Integer
-| *minWidth* | Minimum width | Integer
-| *modified* | The content modified date that will be given to the uploaded file | Date
-| *newFileName* | The new name of file | String
-| *newName* | The new name for copied file; if newName is null, the copied file has same name as the original. | String
-| *output* | The stream to which the file contents will be written | OutputStream
-| *parentFolderId* | The id of parent folder | String
-| *permissions* | The permissions of the created link; if permissions is null then the created shared link is create with default permissions. | Permissions
-| *rangeEnd* | The byte offset in file at which to stop the download; if null the entire contents of file will be downloaded. | Long
-| *rangeStart* | The byte offset in file at which to start the download; if null the entire contents of file will be downloaded. | Long
-| *size* | The size of the file's content used for monitoring the upload's progress | Long
-| *typeName* | The metadata template type name; if null the global properties template type is used. | String
-| *unshareDate* | The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created. | Date
-| *version* | The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on. | Integer
-|===
-
-
-==== folders
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *access* | The access level of the shared link | Access
-| *destinationFolderId* | The id of the destination folder | String
-| *fields* | The information fields to retrieve; if null all information fields are retrieved. | String[]
-| *folderId* | The id of folder to copy | String
-| *folderName* | The name of created folder | String
-| *info* | The updated information | Info
-| *limit* | The maximum number of children to retrieve after the offset; if null all child items are retrieved. | Long
-| *newFolderName* | The new name of folder | String
-| *newName* | The new name for copied folder; if newName is null, the copied folder has same name as the original. | String
-| *offset* | The index of first child item to retrieve; if null all child items are retrieved. | Long
-| *parentFolderId* | The id of parent folder | String
-| *path* | Sequence of Box folder names from parent folder to returned folder | String[]
-| *permissions* | The permissions of the created link; if permissions is null then the created shared link is create with default permissions. | Permissions
-| *unshareDate* | The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created. | Date
-|===
-
-
-==== groups
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *description* | The description of the new group | String
-| *externalSyncIdentifier* | The external_sync_identifier of the new group | String
-| *groupId* | The id of group | String
-| *groupInfo* | The updated information | Info
-| *groupMembershipId* | The id of group membership to delete | String
-| *info* | The updated information | Info
-| *invitabilityLevel* | The invitibility_level of the new group | String
-| *memberViewabilityLevel* | The member_viewability_level of the new group | String
-| *name* | The name of the new group | String
-| *provenance* | The provenance of the new group | String
-| *role* | The role of the user in this group. Can be null to assign the default role. | Role
-| *userId* | The id of user to be added to group | String
-|===
-
-
-==== search
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *folderId* | The id of folder searched | String
-| *query* | The search query | String
-|===
-
-
-==== tasks
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *action* | The action the task assignee will be prompted to do | Action
-| *assignTo* | The user to assign to task | BoxUser
-| *dueAt* | The day at which this task is due | Date
-| *fileId* | The id of file to add task to | String
-| *info* | The updated information | Info
-| *message* | An optional message to include with the task | String
-| *taskAssignmentId* | The id of task assignment to delete | String
-| *taskId* | The id of task to add assignment for | String
-|===
-
-
-==== users
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *email* | The email address to add as an alias | String
-| *emailAliasId* | The id of the email alias to delete | String
-| *fields* | The fields to retrieve. Leave this out for the standard fields. | String[]
-| *filterTerm* | The filter term to lookup users by (login for external, login or name for managed); if null all managed users are returned. | String
-| *force* | Whether or not this user should be deleted even if they still own files | Boolean
-| *info* | The updated information | Info
-| *login* | The email address the user will use to login | String
-| *name* | The name of the user | String
-| *notifyUser* | Whether or not to send an email notification to the user that their account has been deleted | Boolean
-| *params* | Additional user information | CreateUserParams
-| *sourceUserId* | The user id of the user whose files will be the source for this operation | String
-| *userId* | The id of user | String
-|===
 // endpoint options: END
 
 == URI format
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
index 7476be9..d01f74d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
@@ -123,197 +123,6 @@ with the following path and query parameters:
 | *privateKey* (security) | The private key provided by Braintree. |  | String
 | *publicKey* (security) | The public key provided by Braintree. |  | String
 |===
-
-
-
-
-=== Query API Parameters (17 APIs):
-
-The Braintree 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 apiName/methodName path parameters:
-
-----
-braintree:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== addOn
-
-The addOn method has no API parameters.
-
-
-==== address
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *customerId* | The id of the Customer | String
-| *id* | The id of the Address to delete | String
-| *request* | The request object | AddressRequest
-|===
-
-
-==== clientToken
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *request* |  | ClientTokenRequest
-|===
-
-
-==== creditCardVerification
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *id* |  | String
-| *query* |  | CreditCardVerificationSearchRequest
-| *request* |  | CreditCardVerificationRequest
-|===
-
-
-==== customer
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *associationFilterId* | The id of the association filter to use | String
-| *id* | The id of the Customer | String
-| *query* | The request query to use for search | CustomerSearchRequest
-| *request* | The request | CustomerRequest
-|===
-
-
-==== discount
-
-The discount method has no API parameters.
-
-
-==== dispute
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The content of the text evidence for the dispute | String
-| *disputeId* | The dispute id to add text evidence to | String
-| *documentId* | The document id of a previously uploaded document | String
-| *evidenceId* | The evidence id to remove | String
-| *fileEvidenceRequest* | The file evidence request for the dispute | FileEvidenceRequest
-| *id* | The dispute id to accept | String
-| *query* | The query for what disputes to find | DisputeSearchRequest
-| *textEvidenceRequest* | The text evidence request for the dispute | TextEvidenceRequest
-|===
-
-
-==== documentUpload
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *request* |  | DocumentUploadRequest
-|===
-
-
-==== merchantAccount
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *currencyRequest* |  | MerchantAccountCreateForCurrencyRequest
-| *id* |  | String
-| *page* |  | Integer
-| *request* |  | MerchantAccountRequest
-|===
-
-
-==== paymentMethod
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *deleteRequest* |  | PaymentMethodDeleteRequest
-| *grantRequest* |  | PaymentMethodGrantRequest
-| *request* |  | PaymentMethodRequest
-| *token* |  | String
-|===
-
-
-==== paymentMethodNonce
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *paymentMethodNonce* |  | String
-| *paymentMethodToken* |  | String
-| *request* |  | PaymentMethodNonceRequest
-|===
-
-
-==== plan
-
-The plan method has no API parameters.
-
-
-==== report
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *request* | The request | TransactionLevelFeeReportRequest
-|===
-
-
-==== settlementBatchSummary
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *groupByCustomField* |  | String
-| *settlementDate* |  | Calendar
-|===
-
-
-==== subscription
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *amount* |  | BigDecimal
-| *customerId* |  | String
-| *id* | Of the Subscription to cancel | String
-| *request* | The request | SubscriptionRequest
-| *searchRequest* | The SubscriptionSearchRequest | SubscriptionSearchRequest
-| *submitForSettlement* |  | Boolean
-| *subscriptionId* |  | String
-|===
-
-
-==== transaction
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *amount* |  | BigDecimal
-| *cloneRequest* |  | TransactionCloneRequest
-| *id* | Of the transaction to cancel release from escrow of | String
-| *query* | The search query | TransactionSearchRequest
-| *refundRequest* |  | TransactionRefundRequest
-| *request* | The request | TransactionRequest
-|===
-
-
-==== webhookNotification
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *challenge* |  | String
-| *payload* |  | String
-| *signature* |  | String
-|===
 // endpoint options: END
 
 == Producer Endpoints:
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc
index cc29013..ce38bb4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/fhir-component.adoc
@@ -166,200 +166,6 @@ with the following path and query parameters:
 | *password* (security) | Username to use for basic authentication |  | String
 | *username* (security) | Username to use for basic authentication |  | String
 |===
-
-
-
-
-=== Query API Parameters (13 APIs):
-
-The FHIR 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 apiName/methodName path parameters:
-
-----
-fhir:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== capabilities
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *type* |  | Class
-|===
-
-
-==== create
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *preferReturn* | Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() , may be null | PreferReturnEnum
-| *resource* | The resource to create | IBaseResource
-| *resourceAsString* | The resource to create | String
-| *url* | The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366, may be null | String
-|===
-
-
-==== delete
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *id* | The IIdType referencing the resource | IIdType
-| *resource* | The IBaseResource to delete | IBaseResource
-| *stringId* | It's id | String
-| *type* | The resource type e.g Patient | String
-| *url* | The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-
-==== history
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *count* |  | Integer
-| *cutoff* |  | Date
-| *extraParameters* |  | Map
-| *iCutoff* |  | IPrimitiveType
-| *id* |  | IIdType
-| *resourceType* |  | Class
-| *returnType* |  | Class
-|===
-
-
-==== load-page
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *bundle* |  | IBaseBundle
-| *extraParameters* |  | Map
-| *returnType* |  | Class
-| *url* |  | String
-|===
-
-
-==== meta
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *id* |  | IIdType
-| *meta* |  | IBaseMetaType
-| *metaType* |  | Class
-| *theResourceName* |  | String
-|===
-
-
-==== operation
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *asynchronous* |  | Boolean
-| *extraParameters* |  | Map
-| *id* |  | IIdType
-| *msgBundle* |  | IBaseBundle
-| *name* |  | String
-| *outputParameterType* |  | Class
-| *parameters* |  | IBaseParameters
-| *resourceType* |  | Class
-| *respondToUri* |  | String
-| *responseClass* |  | Class
-| *returnType* |  | Class
-| *useHttpGet* |  | Boolean
-|===
-
-
-==== patch
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *id* | The resource ID to patch | IIdType
-| *patchBody* | The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| *preferReturn* | Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| *stringId* | The resource ID to patch | String
-| *url* | The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-
-==== read
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *iUrl* |  | IIdType
-| *id* |  | IIdType
-| *ifVersionMatches* |  | String
-| *longId* |  | Long
-| *resource* |  | Class
-| *resourceClass* |  | String
-| *returnNull* |  | Boolean
-| *returnResource* |  | IBaseResource
-| *stringId* |  | String
-| *throwError* |  | Boolean
-| *url* |  | String
-| *version* |  | String
-|===
-
-
-==== search
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *url* | The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
-|===
-
-
-==== transaction
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *bundle* | Bundle to use in the transaction | IBaseBundle
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *resources* | Resources to use in the transaction | List
-| *stringBundle* | Bundle to use in the transaction | String
-|===
-
-
-==== update
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *id* |  | IIdType
-| *preferReturn* |  | PreferReturnEnum
-| *resource* |  | IBaseResource
-| *resourceAsString* |  | String
-| *stringId* |  | String
-| *url* |  | String
-|===
-
-
-==== validate
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *resource* |  | IBaseResource
-| *resourceAsString* |  | String
-|===
 // endpoint options: END
 
 include::camel-spring-boot::page$fhir-starter.adoc[]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-component.adoc
index 7c4c3bd..2f3cb63 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-component.adoc
@@ -137,100 +137,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the calendar application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (8 APIs):
-
-The Google Calendar 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 apiName/methodName path parameters:
-
-----
-google-calendar:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== acl
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.AclRule | AclRule
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *ruleId* | ACL rule identifier | String
-|===
-
-
-==== calendars
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Calendar | Calendar
-|===
-
-
-==== channels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== colors
-
-The colors method has no API parameters.
-
-
-==== events
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Event | Event
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *destination* | Calendar identifier of the target calendar where the event is to be moved to | String
-| *eventId* | Event identifier | String
-| *text* | The text describing the event to be created | String
-|===
-
-
-==== freebusy
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.calendar.model.FreeBusyRequest | FreeBusyRequest
-|===
-
-
-==== list
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.CalendarListEntry | CalendarListEntry
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== settings
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *setting* | The id of the user setting | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc
index 34bfd28..0ccfe56 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc
@@ -140,100 +140,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (8 APIs):
-
-The Google Calendar Stream 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  path parameters:
-
-----
-google-calendar-stream:index
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== acl
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.AclRule | AclRule
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *ruleId* | ACL rule identifier | String
-|===
-
-
-==== calendars
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Calendar | Calendar
-|===
-
-
-==== channels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== colors
-
-The colors method has no API parameters.
-
-
-==== events
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Event | Event
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *destination* | Calendar identifier of the target calendar where the event is to be moved to | String
-| *eventId* | Event identifier | String
-| *text* | The text describing the event to be created | String
-|===
-
-
-==== freebusy
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.calendar.model.FreeBusyRequest | FreeBusyRequest
-|===
-
-
-==== list
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.CalendarListEntry | CalendarListEntry
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== settings
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *setting* | The id of the user setting | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc
index 80439fe..8c42cad 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-drive-component.adoc
@@ -159,155 +159,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the drive application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (13 APIs):
-
-The Google Drive 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 apiName/methodName path parameters:
-
-----
-google-drive:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== drive-about
-
-The drive-about method has no API parameters.
-
-
-==== drive-apps
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *appId* | The ID of the app | String
-|===
-
-
-==== drive-changes
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *changeId* | The ID of the change | String
-| *contentChannel* | The com.google.api.services.drive.model.Channel | Channel
-|===
-
-
-==== drive-channels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.drive.model.Channel | Channel
-|===
-
-
-==== drive-children
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *childId* | The ID of the child | String
-| *content* | The com.google.api.services.drive.model.ChildReference | ChildReference
-| *folderId* | The ID of the folder | String
-|===
-
-
-==== drive-comments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *commentId* | The ID of the comment | String
-| *content* | The com.google.api.services.drive.model.Comment | Comment
-| *fileId* | The ID of the file | String
-|===
-
-
-==== drive-files
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.File | File
-| *contentChannel* | The com.google.api.services.drive.model.Channel | Channel
-| *fileId* | The ID of the file to copy | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *mimeType* | The MIME type of the format requested for this export | String
-|===
-
-
-==== drive-parents
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.ParentReference | ParentReference
-| *fileId* | The ID of the file | String
-| *parentId* | The ID of the parent | String
-|===
-
-
-==== drive-permissions
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.Permission | Permission
-| *email* | The email address for which to return a permission ID | String
-| *fileId* | The ID for the file or Team Drive | String
-| *permissionId* | The ID for the permission | String
-|===
-
-
-==== drive-properties
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.Property | Property
-| *fileId* | The ID of the file | String
-| *propertyKey* | The key of the property | String
-|===
-
-
-==== drive-realtime
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *fileId* | The ID of the file that the Realtime API data model is associated with | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-|===
-
-
-==== drive-replies
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *commentId* | The ID of the comment | String
-| *content* | The com.google.api.services.drive.model.CommentReply | CommentReply
-| *fileId* | The ID of the file | String
-| *replyId* | The ID of the reply | String
-|===
-
-
-==== drive-revisions
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.Revision | Revision
-| *fileId* | The ID of the file | String
-| *revisionId* | The ID of the revision | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-component.adoc
index c5d327d..940af27 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-component.adoc
@@ -147,99 +147,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the mail application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (7 APIs):
-
-The Google Mail 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 apiName/methodName path parameters:
-
-----
-google-mail:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== attachments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *id* | The ID of the attachment | String
-| *messageId* | The ID of the message containing the attachment | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== drafts
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Draft media metadata or null if none | Draft
-| *id* | The ID of the draft to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== history
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== labels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Label | Label
-| *id* | The ID of the label to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== messages
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchDeleteMessagesRequest* | The com.google.api.services.gmail.model.BatchDeleteMessagesRequest | BatchDeleteMessagesRequest
-| *batchModifyMessagesRequest* | The com.google.api.services.gmail.model.BatchModifyMessagesRequest | BatchModifyMessagesRequest
-| *content* | The com.google.api.services.gmail.model.Message media metadata or null if none | Message
-| *id* | The ID of the message to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *modifyMessageRequest* | The com.google.api.services.gmail.model.ModifyMessageRequest | ModifyMessageRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== threads
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.ModifyThreadRequest | ModifyThreadRequest
-| *id* | ID of the Thread to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== users
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.WatchRequest | WatchRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc
index 7d1483e..ab98213 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc
@@ -134,99 +134,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (7 APIs):
-
-The Google Mail Stream 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  path parameters:
-
-----
-google-mail-stream:index
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== attachments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *id* | The ID of the attachment | String
-| *messageId* | The ID of the message containing the attachment | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== drafts
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Draft media metadata or null if none | Draft
-| *id* | The ID of the draft to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== history
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== labels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Label | Label
-| *id* | The ID of the label to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== messages
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchDeleteMessagesRequest* | The com.google.api.services.gmail.model.BatchDeleteMessagesRequest | BatchDeleteMessagesRequest
-| *batchModifyMessagesRequest* | The com.google.api.services.gmail.model.BatchModifyMessagesRequest | BatchModifyMessagesRequest
-| *content* | The com.google.api.services.gmail.model.Message media metadata or null if none | Message
-| *id* | The ID of the message to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *modifyMessageRequest* | The com.google.api.services.gmail.model.ModifyMessageRequest | ModifyMessageRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== threads
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.ModifyThreadRequest | ModifyThreadRequest
-| *id* | ID of the Thread to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== users
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.WatchRequest | WatchRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc
index 1ffd036..206744e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-component.adoc
@@ -143,49 +143,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the sheets application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets 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 apiName/methodName path parameters:
-
-----
-google-sheets:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
index 628fcb7..3433a0d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
@@ -144,49 +144,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets Stream 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 apiName path parameters:
-
-----
-google-sheets-stream:apiName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
 // endpoint options: END
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc
index f78657a5..f89d532 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo2-component.adoc
@@ -148,35 +148,6 @@ with the following path and query parameters:
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 |===
-
-
-
-
-=== Query API Parameters (1 APIs):
-
-The Olingo2 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 apiName/methodName path parameters:
-
-----
-olingo2:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== DEFAULT
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *data* |  | Object
-| *edm* |  | Edm
-| *endpointHttpHeaders* |  | Map
-| *keyPredicate* |  | String
-| *queryParams* |  | Map
-| *resourcePath* |  | String
-| *responseHandler* |  | Olingo2ResponseHandler
-|===
 // endpoint options: END
 
 == Producer Endpoints
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc
index f882ff0..651306a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/olingo4-component.adoc
@@ -145,35 +145,6 @@ with the following path and query parameters:
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 |===
-
-
-
-
-=== Query API Parameters (1 APIs):
-
-The Olingo4 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 apiName/methodName path parameters:
-
-----
-olingo4:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== DEFAULT
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *data* |  | Object
-| *edm* |  | Edm
-| *endpointHttpHeaders* |  | Map
-| *keyPredicate* |  | String
-| *queryParams* |  | Map
-| *resourcePath* |  | String
-| *responseHandler* |  | Olingo4ResponseHandler
-|===
 // endpoint options: END
 
 == Producer Endpoints
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/twilio-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/twilio-component.adoc
index b3be888..8d863bd 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/twilio-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/twilio-component.adoc
@@ -98,618 +98,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (56 APIs):
-
-The Twilio 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 apiName/methodName path parameters:
-
-----
-twilio:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== account
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathSid* | Fetch by unique Account Sid | String
-|===
-
-
-==== address
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *city* | The city of the new address | String
-| *customerName* | The name to associate with the new address | String
-| *isoCountry* | The ISO country code of the new address | String
-| *pathAccountSid* | The SID of the Account that will be responsible for the new Address resource | String
-| *pathSid* | The unique string that identifies the resource | String
-| *postalCode* | The postal code of the new address | String
-| *region* | The state or region of the new address | String
-| *street* | The number and street address of the new address | String
-|===
-
-
-==== address-dependent-phone-number
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-| *pathAddressSid* | The SID of the Address resource associated with the phone number | String
-|===
-
-
-==== application
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== available-phone-number-country
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account requesting the available phone number Country resource | String
-| *pathCountryCode* | The ISO country code of the country to fetch available phone number information about | String
-|===
-
-
-==== available-phone-number-country-local
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account requesting the AvailablePhoneNumber resources | String
-| *pathCountryCode* | The ISO Country code of the country from which to read phone numbers | String
-|===
-
-
-==== available-phone-number-country-mobile
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account requesting the AvailablePhoneNumber resources | String
-| *pathCountryCode* | The ISO Country code of the country from which to read phone numbers | String
-|===
-
-
-==== available-phone-number-country-toll-free
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account requesting the AvailablePhoneNumber resources | String
-| *pathCountryCode* | The ISO Country code of the country from which to read phone numbers | String
-|===
-
-
-==== call
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *applicationSid* | The SID of the Application resource that will handle the call | String
-| *from* | Twilio number from which to originate the call | Endpoint
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies this resource | String
-| *to* | Phone number, SIP address, or client identifier to call | Endpoint
-| *twiml* | TwiML instructions for the call | Twiml
-| *url* | The absolute URL that returns TwiML for this call | URI
-|===
-
-
-==== call-feedback
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The unique sid that identifies this account | String
-| *pathCallSid* | The call sid that uniquely identifies the call | String
-| *qualityScore* | The call quality expressed as an integer from 1 to 5 | Integer
-|===
-
-
-==== call-feedback-summary
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *endDate* | Only include feedback given on or before this date | LocalDate
-| *pathAccountSid* | The unique sid that identifies this account | String
-| *pathSid* | A string that uniquely identifies this feedback summary resource | String
-| *startDate* | Only include feedback given on or after this date | LocalDate
-|===
-
-
-==== call-notification
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource to fetch | String
-| *pathCallSid* | The Call SID of the resource to fetch | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== call-recording
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathCallSid* | The SID of the Call to associate the resource with | String
-| *pathSid* | The unique string that identifies the resource | String
-| *status* | The new status of the recording | Status
-|===
-
-
-==== conference
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource(s) to fetch | String
-| *pathSid* | The unique string that identifies this resource | String
-|===
-
-
-==== conference-participant
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *from* | The phone number, Client identifier, or username portion of SIP address that made this call. | PhoneNumber
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathCallSid* | The Call SID or URL encoded label of the participant to delete | String
-| *pathConferenceSid* | The SID of the participant's conference | String
-| *to* | The phone number, SIP address or Client identifier that received this call. | PhoneNumber
-|===
-
-
-==== connect-app
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource to fetch | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== incoming-phone-number
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *areaCode* | The desired area code for the new phone number | String
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies the resource | String
-| *phoneNumber* | The phone number to purchase in E.164 format | PhoneNumber
-|===
-
-
-==== incoming-phone-number-local
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *phoneNumber* | The phone number to purchase in E.164 format | PhoneNumber
-|===
-
-
-==== incoming-phone-number-mobile
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *phoneNumber* | The phone number to purchase in E.164 format | PhoneNumber
-|===
-
-
-==== incoming-phone-number-toll-free
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *phoneNumber* | The phone number to purchase in E.164 format | PhoneNumber
-|===
-
-
-==== key
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== message
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *body* | The text of the message you want to send. Can be up to 1,600 characters in length. | String
-| *from* | The phone number that initiated the message | PhoneNumber
-| *mediaUrl* | The URL of the media to send with the message | List
-| *messagingServiceSid* | The SID of the Messaging Service you want to associate with the message | String
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies the resource | String
-| *to* | The destination phone number | PhoneNumber
-|===
-
-
-==== message-feedback
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathMessageSid* | The SID of the Message resource for which the feedback was provided | String
-|===
-
-
-==== message-media
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource(s) to delete | String
-| *pathMessageSid* | The SID of the Message resource that this Media resource belongs to | String
-| *pathSid* | The unique string that identifies this resource | String
-|===
-
-
-==== new-key
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will be responsible for the new Key resource | String
-|===
-
-
-==== new-signing-key
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will be responsible for the new Key resource | String
-|===
-
-
-==== notification
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource to fetch | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== outgoing-caller-id
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== queue
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *friendlyName* | A string to describe this resource | String
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies this resource | String
-|===
-
-
-==== queue-member
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource(s) to fetch | String
-| *pathCallSid* | The Call SID of the resource(s) to fetch | String
-| *pathQueueSid* | The SID of the Queue in which to find the members | String
-| *url* | The absolute URL of the Queue resource | URI
-|===
-
-
-==== recording
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== recording-add-on-result
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathReferenceSid* | The SID of the recording to which the result to delete belongs | String
-| *pathSid* | The unique string that identifies the resource to delete | String
-|===
-
-
-==== recording-add-on-result-payload
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathAddOnResultSid* | The SID of the AddOnResult to which the payloads to delete belongs | String
-| *pathReferenceSid* | The SID of the recording to which the AddOnResult resource that contains the payloads to delete belongs | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== recording-transcription
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathRecordingSid* | The SID of the recording that created the transcription to delete | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== short-code
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resource(s) to fetch | String
-| *pathSid* | The unique string that identifies this resource | String
-|===
-
-
-==== signing-key
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The account_sid | String
-| *pathSid* | The sid | String
-|===
-
-
-==== sip-credential-list
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *friendlyName* | Human readable descriptive text | String
-| *pathAccountSid* | The unique id of the Account that is responsible for this resource | String
-| *pathSid* | Delete by unique credential list Sid | String
-|===
-
-
-==== sip-credential-list-credential
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *password* | The password will not be returned in the response | String
-| *pathAccountSid* | The unique id of the Account that is responsible for this resource | String
-| *pathCredentialListSid* | The unique id that identifies the credential list to include the created credential | String
-| *pathSid* | The unique id that identifies the resource to delete | String
-| *username* | The username for this credential | String
-|===
-
-
-==== sip-domain
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *domainName* | The unique address on Twilio to route SIP traffic | String
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== sip-domain-credential-list-mapping
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *credentialListSid* | A string that identifies the CredentialList resource to map to the SIP domain | String
-| *pathAccountSid* | The unique sid that identifies this account | String
-| *pathDomainSid* | A string that identifies the SIP Domain for which the CredentialList resource will be mapped | String
-| *pathSid* | A string that identifies the resource to delete | String
-|===
-
-
-==== sip-domain-ip-access-control-list-mapping
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *ipAccessControlListSid* | The unique id of the IP access control list to map to the SIP domain | String
-| *pathAccountSid* | The unique id of the Account that is responsible for this resource | String
-| *pathDomainSid* | A string that uniquely identifies the SIP Domain | String
-| *pathSid* | A 34 character string that uniquely identifies the resource to delete. | String
-|===
-
-
-==== sip-ip-access-control-list
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *friendlyName* | A human readable description of this resource | String
-| *pathAccountSid* | The unique sid that identifies this account | String
-| *pathSid* | A string that identifies the resource to delete | String
-|===
-
-
-==== sip-ip-access-control-list-ip-address
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *friendlyName* | A human readable descriptive text for this resource, up to 64 characters long. | String
-| *ipAddress* | An IP address in dotted decimal notation from which you want to accept traffic. Any SIP requests from this IP address will be allowed by Twilio. IPv4 only supported today. | String
-| *pathAccountSid* | The unique sid that identifies this account | String
-| *pathIpAccessControlListSid* | The IpAccessControlList Sid with which to associate the created IpAddress resource | String
-| *pathSid* | A string that identifies the resource to delete | String
-|===
-
-
-==== token
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-|===
-
-
-==== transcription
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to delete | String
-| *pathSid* | The unique string that identifies the resource | String
-|===
-
-
-==== usage-record
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-all-time
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-daily
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-last-month
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-monthly
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-this-month
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-today
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-yearly
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-record-yesterday
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account that created the resources to read | String
-|===
-
-
-==== usage-trigger
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *callbackUrl* | The URL we call when the trigger fires | URI
-| *pathAccountSid* | The SID of the Account that will create the resource | String
-| *pathSid* | The unique string that identifies the resource | String
-| *triggerValue* | The usage value at which the trigger should fire | String
-| *usageCategory* | The usage category the trigger watches | UsageCategory
-|===
-
-
-==== validation-request
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *pathAccountSid* | The SID of the Account responsible for the new Caller ID | String
-| *phoneNumber* | The phone number to verify in E.164 format | PhoneNumber
-|===
 // endpoint options: END
 
 == Producer Endpoints:
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/zendesk-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/zendesk-component.adoc
index eea9d43..65c6864 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/zendesk-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/zendesk-component.adoc
@@ -104,143 +104,6 @@ with the following path and query parameters:
 | *token* (security) | The security token. |  | String
 | *username* (security) | The user name. |  | String
 |===
-
-
-
-
-=== Query API Parameters (1 APIs):
-
-The Zendesk 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 methodName path parameters:
-
-----
-zendesk:methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== DEFAULT
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *article* |  | Article
-| *articleAttachments* |  | ArticleAttachments
-| *articleId* |  | Long
-| *articleId0* |  | Long
-| *attachment* |  | Attachment
-| *attachments* |  | List
-| *audit* |  | Audit
-| *auditId* |  | Long
-| *automation* |  | Automation
-| *automationId* |  | Long
-| *automationId0* |  | Long
-| *category* |  | Category
-| *categoryId* |  | Long
-| *category_id* |  | Long
-| *comment* |  | Comment
-| *commentId* |  | Long
-| *content* |  | byte[]
-| *contentType* |  | String
-| *email* |  | String
-| *endTime* |  | Date
-| *externalId* |  | String
-| *field* |  | Field
-| *file* |  | File
-| *fileName* |  | String
-| *forum* |  | Forum
-| *forum_id* |  | Long
-| *group* |  | Group
-| *groupMembership* |  | GroupMembership
-| *group_id* |  | Long
-| *group_membership_id* |  | Long
-| *id* |  | Long
-| *idArticle* |  | String
-| *identity* |  | Identity
-| *identityId* |  | Long
-| *ids* |  | long[]
-| *includeArchived* |  | Boolean
-| *inline* |  | Boolean
-| *installationId* |  | Integer
-| *item* |  | DynamicContentItem
-| *itemId* |  | Long
-| *json* |  | String
-| *labels* |  | List
-| *locale* |  | String
-| *macro* |  | Macro
-| *macroId* |  | Long
-| *macroId0* |  | Long
-| *monitorId* |  | Long
-| *name* |  | String
-| *newPassword* |  | String
-| *notifySubscribers* |  | Boolean
-| *oldPassword* |  | String
-| *order* |  | SortOrder
-| *organization* |  | Organization
-| *organizationId* |  | Long
-| *organizationList* |  | List
-| *organizationMembership* |  | OrganizationMembership
-| *organizationMembershipList* |  | List
-| *organizationMemberships* |  | OrganizationMembership[]
-| *organization_id* |  | Long
-| *organization_membership_id* |  | Long
-| *organizations* |  | Organization[]
-| *page* |  | Integer
-| *parameters* |  | String
-| *params* |  | Map
-| *password* |  | String
-| *permissionGroup* |  | PermissionGroup
-| *query* |  | String
-| *request* |  | Request
-| *requestId* |  | Long
-| *role* |  | String
-| *roles* |  | String[]
-| *satisfactionRating* |  | SatisfactionRating
-| *schedule* |  | Schedule
-| *scheduleId* |  | Long
-| *searchTerm* |  | String
-| *section* |  | Section
-| *sectionId* |  | Long
-| *sortBy* |  | String
-| *sortOrder* |  | SortOrder
-| *startTime* |  | Date
-| *status* |  | JobStatus
-| *statuses* |  | List
-| *suspendedTicket* |  | SuspendedTicket
-| *tags* |  | String[]
-| *target* |  | Target
-| *targetId* |  | Long
-| *ticket* |  | Ticket
-| *ticketForm* |  | TicketForm
-| *ticketId* |  | Long
-| *ticketId0* |  | Long
-| *ticketImport* |  | TicketImport
-| *ticketList* |  | List
-| *tickets* |  | Ticket[]
-| *token* |  | String
-| *topic* |  | Topic
-| *translation* |  | Translation
-| *translationId* |  | Long
-| *trigger* |  | Trigger
-| *triggerId* |  | Long
-| *triggerId0* |  | Long
-| *tweetId* |  | Long
-| *type* |  | Class
-| *unixEpochTime* |  | Long
-| *upload* |  | Upload
-| *user* |  | User
-| *userId* |  | Long
-| *userId0* |  | Long
-| *userIdThatWillBeMerged* |  | Long
-| *userIdThatWillRemain* |  | Long
-| *userList* |  | List
-| *userSegment* |  | UserSegment
-| *user_id* |  | Long
-| *users* |  | User[]
-| *usersList* |  | List
-| *variant* |  | DynamicContentItemVariant
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java
index a790f66..eca8105 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ClientManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.as2;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,43 +14,60 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.as2.api.AS2ClientManager
  */
-@ApiParams(apiName = "client", apiMethods = "send")
+@ApiParams(apiName = "client", apiMethods = {@ApiMethod(methodName = "send")})
 @UriParams
 @Configurer
 public final class AS2ClientManagerEndpointConfiguration extends AS2Configuration {
-    @UriParam(description = "AS2 name of sender")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "AS2 name of sender")
     private String as2From;
-    @UriParam(description = "The structure of AS2 to send; see AS2MessageStructure")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The structure of AS2 to send; see AS2MessageStructure")
     private org.apache.camel.component.as2.api.AS2MessageStructure as2MessageStructure;
-    @UriParam(description = "AS2 name of recipient")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "AS2 name of recipient")
     private String as2To;
-    @UriParam(description = "The algorithm used to compress the message or null if sending EDI message uncompressed")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The algorithm used to compress the message or null if sending EDI message uncompressed")
     private org.apache.camel.component.as2.api.AS2CompressionAlgorithm compressionAlgorithm;
-    @UriParam(description = "An RFC2822 address to request a receipt or null if no receipt requested")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "An RFC2822 address to request a receipt or null if no receipt requested")
     private String dispositionNotificationTo;
-    @UriParam(description = "EDI message to transport")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "EDI message to transport")
     private String ediMessage;
-    @UriParam(description = "The content typw of EDI message")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The content typw of EDI message")
     private org.apache.http.entity.ContentType ediMessageContentType;
-    @UriParam(description = "The transfer encoding used to transport EDI message")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The transfer encoding used to transport EDI message")
     private String ediMessageTransferEncoding;
-    @UriParam(description = "The algorithm used to encrypt the message or null if sending EDI message unencrypted")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The algorithm used to encrypt the message or null if sending EDI message unencrypted")
     private org.apache.camel.component.as2.api.AS2EncryptionAlgorithm encryptingAlgorithm;
-    @UriParam(description = "The chain of certificates used to encrypt the message or null if sending EDI message unencrypted")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The chain of certificates used to encrypt the message or null if sending EDI message unencrypted")
     private java.security.cert.Certificate[] encryptingCertificateChain;
-    @UriParam(description = "RFC2822 address of sender")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "RFC2822 address of sender")
     private String from;
-    @UriParam(description = "Resource location to deliver message")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "Resource location to deliver message")
     private String requestUri;
-    @UriParam(description = "The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt.")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt.")
     private String[] signedReceiptMicAlgorithms;
-    @UriParam(description = "The algorithm used to sign the message or null if sending EDI message unsigned")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The algorithm used to sign the message or null if sending EDI message unsigned")
     private org.apache.camel.component.as2.api.AS2SignatureAlgorithm signingAlgorithm;
-    @UriParam(description = "The chain of certificates used to sign the message or null if sending EDI message unsigned")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The chain of certificates used to sign the message or null if sending EDI message unsigned")
     private java.security.cert.Certificate[] signingCertificateChain;
-    @UriParam(description = "The private key used to sign EDI message")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "The private key used to sign EDI message")
     private java.security.PrivateKey signingPrivateKey;
-    @UriParam(description = "Message subject")
+    @UriParam
+    @ApiParam(apiMethods = "send", description = "Message subject")
     private String subject;
 
     public String getAs2From() {
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfiguration.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfiguration.java
index 471ffba..6e0dbe4 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfiguration.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2ServerManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.as2;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.as2.api.AS2ServerManager
  */
-@ApiParams(apiName = "server", apiMethods = "listen")
+@ApiParams(apiName = "server", apiMethods = {@ApiMethod(methodName = "listen")})
 @UriParams
 @Configurer
 public final class AS2ServerManagerEndpointConfiguration extends AS2Configuration {
     @UriParam
+    @ApiParam(apiMethods = "listen")
     private String requestUriPattern;
 
     public String getRequestUriPattern() {
diff --git a/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json b/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json
index 9043dfc..6b32b94 100644
--- a/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json
+++ b/components/camel-as2/camel-as2-component/src/generated/resources/org/apache/camel/component/as2/as2.json
@@ -82,7 +82,7 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "client": { "as2From": { "kind": "parameter", "displayName": "As2 From", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "AS2 name of sender" }, "as2MessageStructure": { "kind": "parameter", "displayName": "As2 Message Structure", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.as2.api.AS2MessageStructure", "enum": [ "P [...]
-    "server": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } }
+    "client": { "apiName": "client", "methods": { "send": { "apiMethodName": "send", "description": "Message subject", "properties": { "subject": { "kind": "parameter", "displayName": "Subject", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "server": { "apiName": "server", "methods": { "listen": { "apiMethodName": "listen", "description": "", "properties": { "requestUriPattern": { "kind": "parameter", "displayName": "Request Uri Pattern", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index be50e58..cec10a6 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -140,54 +140,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The AS2 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 apiName/methodName path parameters:
-
-----
-as2:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== client
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *as2From* | AS2 name of sender | String
-| *as2MessageStructure* | The structure of AS2 to send; see AS2MessageStructure | AS2MessageStructure
-| *as2To* | AS2 name of recipient | String
-| *compressionAlgorithm* | The algorithm used to compress the message or null if sending EDI message uncompressed | AS2CompressionAlgorithm
-| *dispositionNotificationTo* | An RFC2822 address to request a receipt or null if no receipt requested | String
-| *ediMessage* | EDI message to transport | String
-| *ediMessageContentType* | The content typw of EDI message | ContentType
-| *ediMessageTransferEncoding* | The transfer encoding used to transport EDI message | String
-| *encryptingAlgorithm* | The algorithm used to encrypt the message or null if sending EDI message unencrypted | AS2EncryptionAlgorithm
-| *encryptingCertificateChain* | The chain of certificates used to encrypt the message or null if sending EDI message unencrypted | Certificate[]
-| *from* | RFC2822 address of sender | String
-| *requestUri* | Resource location to deliver message | String
-| *signedReceiptMicAlgorithms* | The senders list of signing algorithms for signing receipt, in preferred order, or null if requesting an unsigned receipt. | String[]
-| *signingAlgorithm* | The algorithm used to sign the message or null if sending EDI message unsigned | AS2SignatureAlgorithm
-| *signingCertificateChain* | The chain of certificates used to sign the message or null if sending EDI message unsigned | Certificate[]
-| *signingPrivateKey* | The private key used to sign EDI message | PrivateKey
-| *subject* | Message subject | String
-|===
-
-
-==== server
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *requestUriPattern* |  | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfiguration.java
index a7fc391..c93a48a 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,21 +14,27 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxCollaborationsManager
  */
-@ApiParams(apiName = "collaborations", apiMethods = "addFolderCollaboration,addFolderCollaborationByEmail,deleteCollaboration,getCollaborationInfo,getFolderCollaborations,getPendingCollaborations,updateCollaborationInfo")
+@ApiParams(apiName = "collaborations", apiMethods = {@ApiMethod(methodName = "addFolderCollaboration"), @ApiMethod(methodName = "addFolderCollaborationByEmail"), @ApiMethod(methodName = "deleteCollaboration"), @ApiMethod(methodName = "getCollaborationInfo"), @ApiMethod(methodName = "getFolderCollaborations"), @ApiMethod(methodName = "getPendingCollaborations"), @ApiMethod(methodName = "updateCollaborationInfo")})
 @UriParams
 @Configurer
 public final class BoxCollaborationsManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The id of comment to change")
+    @UriParam
+    @ApiParam(apiMethods = "deleteCollaboration,getCollaborationInfo,updateCollaborationInfo", description = "The id of comment to change")
     private String collaborationId;
-    @UriParam(description = "The collaborator to add")
+    @UriParam
+    @ApiParam(apiMethods = "addFolderCollaboration", description = "The collaborator to add")
     private com.box.sdk.BoxCollaborator collaborator;
-    @UriParam(description = "The email address of the collaborator to add")
+    @UriParam
+    @ApiParam(apiMethods = "addFolderCollaborationByEmail", description = "The email address of the collaborator to add")
     private String email;
-    @UriParam(description = "The id of folder to add collaboration to")
+    @UriParam
+    @ApiParam(apiMethods = "addFolderCollaboration,addFolderCollaborationByEmail,getFolderCollaborations", description = "The id of folder to add collaboration to")
     private String folderId;
     @UriParam
+    @ApiParam(apiMethods = "updateCollaborationInfo")
     private com.box.sdk.BoxCollaboration.Info info;
-    @UriParam(description = "The role of the collaborator")
+    @UriParam
+    @ApiParam(apiMethods = "addFolderCollaboration,addFolderCollaborationByEmail", description = "The role of the collaborator")
     private com.box.sdk.BoxCollaboration.Role role;
 
     public String getCollaborationId() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfiguration.java
index 953264b..e395799 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxCommentsManager
  */
-@ApiParams(apiName = "comments", apiMethods = "addFileComment,changeCommentMessage,deleteComment,getCommentInfo,getFileComments,replyToComment")
+@ApiParams(apiName = "comments", apiMethods = {@ApiMethod(methodName = "addFileComment"), @ApiMethod(methodName = "changeCommentMessage"), @ApiMethod(methodName = "deleteComment"), @ApiMethod(methodName = "getCommentInfo"), @ApiMethod(methodName = "getFileComments"), @ApiMethod(methodName = "replyToComment")})
 @UriParams
 @Configurer
 public final class BoxCommentsManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The id of comment to change")
+    @UriParam
+    @ApiParam(apiMethods = "changeCommentMessage,deleteComment,getCommentInfo,replyToComment", description = "The id of comment to change")
     private String commentId;
-    @UriParam(description = "The id of file to rename")
+    @UriParam
+    @ApiParam(apiMethods = "addFileComment,getFileComments", description = "The id of file to rename")
     private String fileId;
-    @UriParam(description = "The comment's message")
+    @UriParam
+    @ApiParam(apiMethods = "addFileComment,changeCommentMessage,replyToComment", description = "The comment's message")
     private String message;
 
     public String getCommentId() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java
index 9afe659..6a42a52 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxEventLogsManager
  */
-@ApiParams(apiName = "event-logs", apiMethods = "getEnterpriseEvents")
+@ApiParams(apiName = "event-logs", apiMethods = {@ApiMethod(methodName = "getEnterpriseEvents")})
 @UriParams
 @Configurer
 public final class BoxEventLogsManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The lower bound on the timestamp of the events returned")
+    @UriParam
+    @ApiParam(apiMethods = "getEnterpriseEvents", description = "The lower bound on the timestamp of the events returned")
     private java.util.Date after;
-    @UriParam(description = "The upper bound on the timestamp of the events returned")
+    @UriParam
+    @ApiParam(apiMethods = "getEnterpriseEvents", description = "The upper bound on the timestamp of the events returned")
     private java.util.Date before;
-    @UriParam(description = "The starting position of the event stream. May be null in which case all events within bounds returned.")
+    @UriParam
+    @ApiParam(apiMethods = "getEnterpriseEvents", description = "The starting position of the event stream. May be null in which case all events within bounds returned.")
     private String position;
-    @UriParam(description = "An optional list of event types to filter by")
+    @UriParam
+    @ApiParam(apiMethods = "getEnterpriseEvents", description = "An optional list of event types to filter by")
     private com.box.sdk.BoxEvent.Type[] types;
 
     public java.util.Date getAfter() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfiguration.java
index 0043a50..9687cd8 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxEventsManager
  */
-@ApiParams(apiName = "events", apiMethods = "listen")
+@ApiParams(apiName = "events", apiMethods = {@ApiMethod(methodName = "listen")})
 @UriParams
 @Configurer
 public final class BoxEventsManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The starting position of the event stream")
+    @UriParam
+    @ApiParam(apiMethods = "listen", description = "The starting position of the event stream")
     private Long startingPosition;
 
     public Long getStartingPosition() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java
index ff8cbdd..90eec0a 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,69 +14,99 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxFilesManager
  */
-@ApiParams(apiName = "files", apiMethods = "checkUpload,copyFile,createFileMetadata,createFileSharedLink,deleteFile,deleteFileMetadata,deleteFileVersion,downloadFile,downloadPreviousFileVersion,getDownloadURL,getFileInfo,getFileMetadata,getFilePreviewLink,getFileThumbnail,getFileVersions,moveFile,promoteFileVersion,renameFile,updateFileInfo,updateFileMetadata,uploadFile,uploadNewFileVersion")
+@ApiParams(apiName = "files", apiMethods = {@ApiMethod(methodName = "checkUpload"), @ApiMethod(methodName = "copyFile"), @ApiMethod(methodName = "createFileMetadata"), @ApiMethod(methodName = "createFileSharedLink"), @ApiMethod(methodName = "deleteFile"), @ApiMethod(methodName = "deleteFileMetadata"), @ApiMethod(methodName = "deleteFileVersion"), @ApiMethod(methodName = "downloadFile"), @ApiMethod(methodName = "downloadPreviousFileVersion"), @ApiMethod(methodName = "getDownloadURL"), @Ap [...]
 @UriParams
 @Configurer
 public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The access level of the shared link")
+    @UriParam
+    @ApiParam(apiMethods = "createFileSharedLink", description = "The access level of the shared link")
     private com.box.sdk.BoxSharedLink.Access access;
-    @UriParam(description = "If the file name is already used, call the uploadNewVersion instead.")
+    @UriParam
+    @ApiParam(apiMethods = "uploadFile", description = "If the file name is already used, call the uploadNewVersion instead.")
     private Boolean check;
-    @UriParam(description = "A stream containing contents of the file to upload")
+    @UriParam
+    @ApiParam(apiMethods = "uploadFile", description = "A stream containing contents of the file to upload")
     private java.io.InputStream content;
-    @UriParam(description = "The content created date that will be given to the uploaded file")
+    @UriParam
+    @ApiParam(apiMethods = "uploadFile", description = "The content created date that will be given to the uploaded file")
     private java.util.Date created;
-    @UriParam(description = "The id of the destination folder")
+    @UriParam
+    @ApiParam(apiMethods = "copyFile,moveFile", description = "The id of the destination folder")
     private String destinationFolderId;
-    @UriParam(description = "The information fields to retrieve; if null all information fields are retrieved.")
+    @UriParam
+    @ApiParam(apiMethods = "getFileInfo", description = "The information fields to retrieve; if null all information fields are retrieved.")
     private String[] fields;
-    @UriParam(description = "A stream containing contents of the file to upload")
+    @UriParam
+    @ApiParam(apiMethods = "uploadNewFileVersion", description = "A stream containing contents of the file to upload")
     private java.io.InputStream fileContent;
-    @UriParam(description = "The id of file to copy")
+    @UriParam
+    @ApiParam(apiMethods = "copyFile,createFileMetadata,createFileSharedLink,deleteFile,deleteFileMetadata,deleteFileVersion,downloadFile,downloadPreviousFileVersion,getDownloadURL,getFileInfo,getFileMetadata,getFilePreviewLink,getFileThumbnail,getFileVersions,moveFile,promoteFileVersion,renameFile,updateFileInfo,updateFileMetadata,uploadNewFileVersion", description = "The id of file to copy")
     private String fileId;
-    @UriParam(description = "The name to give the uploaded file")
+    @UriParam
+    @ApiParam(apiMethods = "checkUpload,uploadFile", description = "The name to give the uploaded file")
     private String fileName;
-    @UriParam(description = "The size of the file's content used for monitoring the upload's progress")
+    @UriParam
+    @ApiParam(apiMethods = "uploadNewFileVersion", description = "The size of the file's content used for monitoring the upload's progress")
     private Long fileSize;
-    @UriParam(description = "Either PNG of JPG")
+    @UriParam
+    @ApiParam(apiMethods = "getFileThumbnail", description = "Either PNG of JPG")
     private com.box.sdk.BoxFile.ThumbnailFileType fileType;
-    @UriParam(description = "The updated information")
+    @UriParam
+    @ApiParam(apiMethods = "updateFileInfo", description = "The updated information")
     private com.box.sdk.BoxFile.Info info;
-    @UriParam(description = "A listener for monitoring the download's progress; if null the download's progress will not be monitored.")
+    @UriParam
+    @ApiParam(apiMethods = "downloadFile,downloadPreviousFileVersion,uploadFile,uploadNewFileVersion", description = "A listener for monitoring the download's progress; if null the download's progress will not be monitored.")
     private com.box.sdk.ProgressListener listener;
-    @UriParam(description = "Maximum height")
+    @UriParam
+    @ApiParam(apiMethods = "getFileThumbnail", description = "Maximum height")
     private Integer maxHeight;
-    @UriParam(description = "Maximum width")
+    @UriParam
+    @ApiParam(apiMethods = "getFileThumbnail", description = "Maximum width")
     private Integer maxWidth;
-    @UriParam(description = "The new metadata values")
+    @UriParam
+    @ApiParam(apiMethods = "createFileMetadata,updateFileMetadata", description = "The new metadata values")
     private com.box.sdk.Metadata metadata;
-    @UriParam(description = "Minimum height")
+    @UriParam
+    @ApiParam(apiMethods = "getFileThumbnail", description = "Minimum height")
     private Integer minHeight;
-    @UriParam(description = "Minimum width")
+    @UriParam
+    @ApiParam(apiMethods = "getFileThumbnail", description = "Minimum width")
     private Integer minWidth;
-    @UriParam(description = "The content modified date that will be given to the uploaded file")
+    @UriParam
+    @ApiParam(apiMethods = "uploadFile,uploadNewFileVersion", description = "The content modified date that will be given to the uploaded file")
     private java.util.Date modified;
-    @UriParam(description = "The new name of file")
+    @UriParam
+    @ApiParam(apiMethods = "renameFile", description = "The new name of file")
     private String newFileName;
-    @UriParam(description = "The new name for copied file; if newName is null, the copied file has same name as the original.")
+    @UriParam
+    @ApiParam(apiMethods = "copyFile,moveFile", description = "The new name for copied file; if newName is null, the copied file has same name as the original.")
     private String newName;
-    @UriParam(description = "The stream to which the file contents will be written")
+    @UriParam
+    @ApiParam(apiMethods = "downloadFile,downloadPreviousFileVersion", description = "The stream to which the file contents will be written")
     private java.io.OutputStream output;
-    @UriParam(description = "The id of parent folder")
+    @UriParam
+    @ApiParam(apiMethods = "checkUpload,uploadFile", description = "The id of parent folder")
     private String parentFolderId;
-    @UriParam(description = "The permissions of the created link; if permissions is null then the created shared link is create with default permissions.")
+    @UriParam
+    @ApiParam(apiMethods = "createFileSharedLink", description = "The permissions of the created link; if permissions is null then the created shared link is create with default permissions.")
     private com.box.sdk.BoxSharedLink.Permissions permissions;
-    @UriParam(description = "The byte offset in file at which to stop the download; if null the entire contents of file will be downloaded.")
+    @UriParam
+    @ApiParam(apiMethods = "downloadFile", description = "The byte offset in file at which to stop the download; if null the entire contents of file will be downloaded.")
     private Long rangeEnd;
-    @UriParam(description = "The byte offset in file at which to start the download; if null the entire contents of file will be downloaded.")
+    @UriParam
+    @ApiParam(apiMethods = "downloadFile", description = "The byte offset in file at which to start the download; if null the entire contents of file will be downloaded.")
     private Long rangeStart;
-    @UriParam(description = "The size of the file's content used for monitoring the upload's progress")
+    @UriParam
+    @ApiParam(apiMethods = "checkUpload,uploadFile", description = "The size of the file's content used for monitoring the upload's progress")
     private Long size;
-    @UriParam(description = "The metadata template type name; if null the global properties template type is used.")
+    @UriParam
+    @ApiParam(apiMethods = "createFileMetadata,getFileMetadata", description = "The metadata template type name; if null the global properties template type is used.")
     private String typeName;
-    @UriParam(description = "The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created.")
+    @UriParam
+    @ApiParam(apiMethods = "createFileSharedLink", description = "The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created.")
     private java.util.Date unshareDate;
-    @UriParam(description = "The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on.")
+    @UriParam
+    @ApiParam(apiMethods = "deleteFileVersion,downloadPreviousFileVersion,promoteFileVersion", description = "The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on.")
     private Integer version;
 
     public com.box.sdk.BoxSharedLink.Access getAccess() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfiguration.java
index e2e42f0..b0e8f63 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,37 +14,51 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxFoldersManager
  */
-@ApiParams(apiName = "folders", apiMethods = "copyFolder,createFolder,createFolderSharedLink,deleteFolder,getFolder,getFolderInfo,getFolderItems,getRootFolder,moveFolder,renameFolder,updateFolderInfo")
+@ApiParams(apiName = "folders", apiMethods = {@ApiMethod(methodName = "copyFolder"), @ApiMethod(methodName = "createFolder"), @ApiMethod(methodName = "createFolderSharedLink"), @ApiMethod(methodName = "deleteFolder"), @ApiMethod(methodName = "getFolder"), @ApiMethod(methodName = "getFolderInfo"), @ApiMethod(methodName = "getFolderItems"), @ApiMethod(methodName = "getRootFolder"), @ApiMethod(methodName = "moveFolder"), @ApiMethod(methodName = "renameFolder"), @ApiMethod(methodName = "upda [...]
 @UriParams
 @Configurer
 public final class BoxFoldersManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The access level of the shared link")
+    @UriParam
+    @ApiParam(apiMethods = "createFolderSharedLink", description = "The access level of the shared link")
     private com.box.sdk.BoxSharedLink.Access access;
-    @UriParam(description = "The id of the destination folder")
+    @UriParam
+    @ApiParam(apiMethods = "copyFolder,moveFolder", description = "The id of the destination folder")
     private String destinationFolderId;
-    @UriParam(description = "The information fields to retrieve; if null all information fields are retrieved.")
+    @UriParam
+    @ApiParam(apiMethods = "getFolderInfo,getFolderItems", description = "The information fields to retrieve; if null all information fields are retrieved.")
     private String[] fields;
-    @UriParam(description = "The id of folder to copy")
+    @UriParam
+    @ApiParam(apiMethods = "copyFolder,createFolderSharedLink,deleteFolder,getFolderInfo,getFolderItems,moveFolder,renameFolder,updateFolderInfo", description = "The id of folder to copy")
     private String folderId;
-    @UriParam(description = "The name of created folder")
+    @UriParam
+    @ApiParam(apiMethods = "createFolder", description = "The name of created folder")
     private String folderName;
-    @UriParam(description = "The updated information")
+    @UriParam
+    @ApiParam(apiMethods = "updateFolderInfo", description = "The updated information")
     private com.box.sdk.BoxFolder.Info info;
-    @UriParam(description = "The maximum number of children to retrieve after the offset; if null all child items are retrieved.")
+    @UriParam
+    @ApiParam(apiMethods = "getFolderItems", description = "The maximum number of children to retrieve after the offset; if null all child items are retrieved.")
     private Long limit;
-    @UriParam(description = "The new name of folder")
+    @UriParam
+    @ApiParam(apiMethods = "renameFolder", description = "The new name of folder")
     private String newFolderName;
-    @UriParam(description = "The new name for copied folder; if newName is null, the copied folder has same name as the original.")
+    @UriParam
+    @ApiParam(apiMethods = "copyFolder,moveFolder", description = "The new name for copied folder; if newName is null, the copied folder has same name as the original.")
     private String newName;
-    @UriParam(description = "The index of first child item to retrieve; if null all child items are retrieved.")
+    @UriParam
+    @ApiParam(apiMethods = "getFolderItems", description = "The index of first child item to retrieve; if null all child items are retrieved.")
     private Long offset;
-    @UriParam(description = "The id of parent folder")
+    @UriParam
+    @ApiParam(apiMethods = "createFolder", description = "The id of parent folder")
     private String parentFolderId;
-    @UriParam(description = "Sequence of Box folder names from parent folder to returned folder")
+    @UriParam
+    @ApiParam(apiMethods = "createFolder,getFolder", description = "Sequence of Box folder names from parent folder to returned folder")
     private String[] path;
-    @UriParam(description = "The permissions of the created link; if permissions is null then the created shared link is create with default permissions.")
+    @UriParam
+    @ApiParam(apiMethods = "createFolderSharedLink", description = "The permissions of the created link; if permissions is null then the created shared link is create with default permissions.")
     private com.box.sdk.BoxSharedLink.Permissions permissions;
-    @UriParam(description = "The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created.")
+    @UriParam
+    @ApiParam(apiMethods = "createFolderSharedLink", description = "The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created.")
     private java.util.Date unshareDate;
 
     public com.box.sdk.BoxSharedLink.Access getAccess() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java
index 4b1df19..499e9fd 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,33 +14,45 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxGroupsManager
  */
-@ApiParams(apiName = "groups", apiMethods = "addGroupMembership,createGroup,deleteGroup,deleteGroupMembership,getAllGroups,getGroupInfo,getGroupMembershipInfo,getGroupMemberships,updateGroupInfo,updateGroupMembershipInfo")
+@ApiParams(apiName = "groups", apiMethods = {@ApiMethod(methodName = "addGroupMembership"), @ApiMethod(methodName = "createGroup"), @ApiMethod(methodName = "deleteGroup"), @ApiMethod(methodName = "deleteGroupMembership"), @ApiMethod(methodName = "getAllGroups"), @ApiMethod(methodName = "getGroupInfo"), @ApiMethod(methodName = "getGroupMembershipInfo"), @ApiMethod(methodName = "getGroupMemberships"), @ApiMethod(methodName = "updateGroupInfo"), @ApiMethod(methodName = "updateGroupMembershi [...]
 @UriParams
 @Configurer
 public final class BoxGroupsManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The description of the new group")
+    @UriParam
+    @ApiParam(apiMethods = "createGroup", description = "The description of the new group")
     private String description;
-    @UriParam(description = "The external_sync_identifier of the new group")
+    @UriParam
+    @ApiParam(apiMethods = "createGroup", description = "The external_sync_identifier of the new group")
     private String externalSyncIdentifier;
-    @UriParam(description = "The id of group")
+    @UriParam
+    @ApiParam(apiMethods = "addGroupMembership,deleteGroup,getGroupInfo,getGroupMemberships,updateGroupInfo", description = "The id of group")
     private String groupId;
-    @UriParam(description = "The updated information")
+    @UriParam
+    @ApiParam(apiMethods = "updateGroupInfo", description = "The updated information")
     private com.box.sdk.BoxGroup.Info groupInfo;
-    @UriParam(description = "The id of group membership to delete")
+    @UriParam
+    @ApiParam(apiMethods = "deleteGroupMembership,getGroupMembershipInfo,updateGroupMembershipInfo", description = "The id of group membership to delete")
     private String groupMembershipId;
-    @UriParam(description = "The updated information")
+    @UriParam
+    @ApiParam(apiMethods = "updateGroupMembershipInfo", description = "The updated information")
     private com.box.sdk.BoxGroupMembership.Info info;
-    @UriParam(description = "The invitibility_level of the new group")
+    @UriParam
+    @ApiParam(apiMethods = "createGroup", description = "The invitibility_level of the new group")
     private String invitabilityLevel;
-    @UriParam(description = "The member_viewability_level of the new group")
+    @UriParam
+    @ApiParam(apiMethods = "createGroup", description = "The member_viewability_level of the new group")
     private String memberViewabilityLevel;
-    @UriParam(description = "The name of the new group")
+    @UriParam
+    @ApiParam(apiMethods = "createGroup", description = "The name of the new group")
     private String name;
-    @UriParam(description = "The provenance of the new group")
+    @UriParam
+    @ApiParam(apiMethods = "createGroup", description = "The provenance of the new group")
     private String provenance;
-    @UriParam(description = "The role of the user in this group. Can be null to assign the default role.")
+    @UriParam
+    @ApiParam(apiMethods = "addGroupMembership", description = "The role of the user in this group. Can be null to assign the default role.")
     private com.box.sdk.BoxGroupMembership.Role role;
-    @UriParam(description = "The id of user to be added to group")
+    @UriParam
+    @ApiParam(apiMethods = "addGroupMembership", description = "The id of user to be added to group")
     private String userId;
 
     public String getDescription() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfiguration.java
index f6c5629..a57eaf9 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxSearchManager
  */
-@ApiParams(apiName = "search", apiMethods = "searchFolder")
+@ApiParams(apiName = "search", apiMethods = {@ApiMethod(methodName = "searchFolder")})
 @UriParams
 @Configurer
 public final class BoxSearchManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The id of folder searched")
+    @UriParam
+    @ApiParam(apiMethods = "searchFolder", description = "The id of folder searched")
     private String folderId;
-    @UriParam(description = "The search query")
+    @UriParam
+    @ApiParam(apiMethods = "searchFolder", description = "The search query")
     private String query;
 
     public String getFolderId() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfiguration.java
index 5cc52f5..ff5fd56 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,25 +14,33 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxTasksManager
  */
-@ApiParams(apiName = "tasks", apiMethods = "addAssignmentToTask,addFileTask,deleteTask,deleteTaskAssignment,getFileTasks,getTaskAssignmentInfo,getTaskAssignments,getTaskInfo,updateTaskInfo")
+@ApiParams(apiName = "tasks", apiMethods = {@ApiMethod(methodName = "addAssignmentToTask"), @ApiMethod(methodName = "addFileTask"), @ApiMethod(methodName = "deleteTask"), @ApiMethod(methodName = "deleteTaskAssignment"), @ApiMethod(methodName = "getFileTasks"), @ApiMethod(methodName = "getTaskAssignmentInfo"), @ApiMethod(methodName = "getTaskAssignments"), @ApiMethod(methodName = "getTaskInfo"), @ApiMethod(methodName = "updateTaskInfo")})
 @UriParams
 @Configurer
 public final class BoxTasksManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The action the task assignee will be prompted to do")
+    @UriParam
+    @ApiParam(apiMethods = "addFileTask", description = "The action the task assignee will be prompted to do")
     private com.box.sdk.BoxTask.Action action;
-    @UriParam(description = "The user to assign to task")
+    @UriParam
+    @ApiParam(apiMethods = "addAssignmentToTask", description = "The user to assign to task")
     private com.box.sdk.BoxUser assignTo;
-    @UriParam(description = "The day at which this task is due")
+    @UriParam
+    @ApiParam(apiMethods = "addFileTask", description = "The day at which this task is due")
     private java.util.Date dueAt;
-    @UriParam(description = "The id of file to add task to")
+    @UriParam
+    @ApiParam(apiMethods = "addFileTask,getFileTasks", description = "The id of file to add task to")
     private String fileId;
-    @UriParam(description = "The updated information")
+    @UriParam
+    @ApiParam(apiMethods = "updateTaskInfo", description = "The updated information")
     private com.box.sdk.BoxTask.Info info;
-    @UriParam(description = "An optional message to include with the task")
+    @UriParam
+    @ApiParam(apiMethods = "addFileTask", description = "An optional message to include with the task")
     private String message;
-    @UriParam(description = "The id of task assignment to delete")
+    @UriParam
+    @ApiParam(apiMethods = "deleteTaskAssignment,getTaskAssignmentInfo", description = "The id of task assignment to delete")
     private String taskAssignmentId;
-    @UriParam(description = "The id of task to add assignment for")
+    @UriParam
+    @ApiParam(apiMethods = "addAssignmentToTask,deleteTask,getTaskAssignments,getTaskInfo,updateTaskInfo", description = "The id of task to add assignment for")
     private String taskId;
 
     public com.box.sdk.BoxTask.Action getAction() {
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfiguration.java
index 707f343..6efb9cf 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.box;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,33 +14,45 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.box.api.BoxUsersManager
  */
-@ApiParams(apiName = "users", apiMethods = "addUserEmailAlias,createAppUser,createEnterpriseUser,deleteUser,deleteUserEmailAlias,getAllEnterpriseOrExternalUsers,getCurrentUser,getUserEmailAlias,getUserInfo,moveFolderToUser,updateUserInfo")
+@ApiParams(apiName = "users", apiMethods = {@ApiMethod(methodName = "addUserEmailAlias"), @ApiMethod(methodName = "createAppUser"), @ApiMethod(methodName = "createEnterpriseUser"), @ApiMethod(methodName = "deleteUser"), @ApiMethod(methodName = "deleteUserEmailAlias"), @ApiMethod(methodName = "getAllEnterpriseOrExternalUsers"), @ApiMethod(methodName = "getCurrentUser"), @ApiMethod(methodName = "getUserEmailAlias"), @ApiMethod(methodName = "getUserInfo"), @ApiMethod(methodName = "moveFolde [...]
 @UriParams
 @Configurer
 public final class BoxUsersManagerEndpointConfiguration extends BoxConfiguration {
-    @UriParam(description = "The email address to add as an alias")
+    @UriParam
+    @ApiParam(apiMethods = "addUserEmailAlias", description = "The email address to add as an alias")
     private String email;
-    @UriParam(description = "The id of the email alias to delete")
+    @UriParam
+    @ApiParam(apiMethods = "deleteUserEmailAlias", description = "The id of the email alias to delete")
     private String emailAliasId;
-    @UriParam(description = "The fields to retrieve. Leave this out for the standard fields.")
+    @UriParam
+    @ApiParam(apiMethods = "getAllEnterpriseOrExternalUsers", description = "The fields to retrieve. Leave this out for the standard fields.")
     private String[] fields;
-    @UriParam(description = "The filter term to lookup users by (login for external, login or name for managed); if null all managed users are returned.")
+    @UriParam
+    @ApiParam(apiMethods = "getAllEnterpriseOrExternalUsers", description = "The filter term to lookup users by (login for external, login or name for managed); if null all managed users are returned.")
     private String filterTerm;
-    @UriParam(description = "Whether or not this user should be deleted even if they still own files")
+    @UriParam
+    @ApiParam(apiMethods = "deleteUser", description = "Whether or not this user should be deleted even if they still own files")
     private Boolean force;
-    @UriParam(description = "The updated information")
+    @UriParam
+    @ApiParam(apiMethods = "updateUserInfo", description = "The updated information")
     private com.box.sdk.BoxUser.Info info;
-    @UriParam(description = "The email address the user will use to login")
+    @UriParam
+    @ApiParam(apiMethods = "createEnterpriseUser", description = "The email address the user will use to login")
     private String login;
-    @UriParam(description = "The name of the user")
+    @UriParam
+    @ApiParam(apiMethods = "createAppUser,createEnterpriseUser", description = "The name of the user")
     private String name;
-    @UriParam(description = "Whether or not to send an email notification to the user that their account has been deleted")
+    @UriParam
+    @ApiParam(apiMethods = "deleteUser", description = "Whether or not to send an email notification to the user that their account has been deleted")
     private Boolean notifyUser;
-    @UriParam(description = "Additional user information")
+    @UriParam
+    @ApiParam(apiMethods = "createAppUser,createEnterpriseUser", description = "Additional user information")
     private com.box.sdk.CreateUserParams params;
-    @UriParam(description = "The user id of the user whose files will be the source for this operation")
+    @UriParam
+    @ApiParam(apiMethods = "moveFolderToUser", description = "The user id of the user whose files will be the source for this operation")
     private String sourceUserId;
-    @UriParam(description = "The id of user")
+    @UriParam
+    @ApiParam(apiMethods = "addUserEmailAlias,deleteUser,deleteUserEmailAlias,getUserEmailAlias,getUserInfo,moveFolderToUser,updateUserInfo", description = "The id of user")
     private String userId;
 
     public String getEmail() {
diff --git a/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json b/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json
index aa9faff3..4a5e50d 100644
--- a/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json
+++ b/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json
@@ -86,15 +86,15 @@
     "userPassword": { "kind": "parameter", "displayName": "User Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.box.BoxConfiguration", "configurationField": "configuration", "description": "Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call" }
   },
   "apiProperties": {
-    "collaborations": { "collaborationId": { "kind": "parameter", "displayName": "Collaboration Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of comment to change" }, "collaborator": { "kind": "parameter", "displayName": "Collaborator", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaborator", "deprecated": false, " [...]
-    "comments": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of comment to change" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id o [...]
-    "event-logs": { "after": { "kind": "parameter", "displayName": "After", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "description": "The lower bound on the timestamp of the events returned" }, "before": { "kind": "parameter", "displayName": "Before", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "descrip [...]
-    "events": { "startingPosition": { "kind": "parameter", "displayName": "Starting Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "The starting position of the event stream" } },
-    "files": { "access": { "kind": "parameter", "displayName": "Access", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxSharedLink.Access", "enum": [ "DEFAULT", "OPEN", "COMPANY", "COLLABORATORS" ], "deprecated": false, "secret": false, "description": "The access level of the shared link" }, "check": { "kind": "parameter", "displayName": "Check", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang. [...]
-    "folders": { "access": { "kind": "parameter", "displayName": "Access", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxSharedLink.Access", "enum": [ "DEFAULT", "OPEN", "COMPANY", "COLLABORATORS" ], "deprecated": false, "secret": false, "description": "The access level of the shared link" }, "destinationFolderId": { "kind": "parameter", "displayName": "Destination Folder Id", "group": "common", "label": "", "required": false, "type": "s [...]
-    "groups": { "description": { "kind": "parameter", "displayName": "Description", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The description of the new group" }, "externalSyncIdentifier": { "kind": "parameter", "displayName": "External Sync Identifier", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "s [...]
-    "search": { "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of folder searched" }, "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The search query" } },
-    "tasks": { "action": { "kind": "parameter", "displayName": "Action", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxTask.Action", "enum": [ "REVIEW", "COMPLETE" ], "deprecated": false, "secret": false, "description": "The action the task assignee will be prompted to do" }, "assignTo": { "kind": "parameter", "displayName": "Assign To", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxUser [...]
-    "users": { "email": { "kind": "parameter", "displayName": "Email", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The email address to add as an alias" }, "emailAliasId": { "kind": "parameter", "displayName": "Email Alias Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": [...]
+    "files": { "apiName": "files", "methods": { "deleteFileVersion": { "apiMethodName": "deleteFileVersion", "description": "The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on.", "properties": { "version": { "kind": "parameter", "displayName": "Version", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "" } } }, "downloadPrev [...]
+    "search": { "apiName": "search", "methods": { "searchFolder": { "apiMethodName": "searchFolder", "description": "The search query", "properties": { "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "comments": { "apiName": "comments", "methods": { "addFileComment": { "apiMethodName": "addFileComment", "description": "The comment's message", "properties": { "message": { "kind": "parameter", "displayName": "Message", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "changeCommentMessage": { "apiMethodName": "changeCommentMessage", "description": "The comment's messag [...]
+    "event-logs": { "apiName": "event-logs", "methods": { "getEnterpriseEvents": { "apiMethodName": "getEnterpriseEvents", "description": "An optional list of event types to filter by", "properties": { "types": { "kind": "parameter", "displayName": "Types", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxEvent.Type[]", "deprecated": false, "secret": false, "description": "" } } } } },
+    "collaborations": { "apiName": "collaborations", "methods": { "addFolderCollaboration": { "apiMethodName": "addFolderCollaboration", "description": "The role of the collaborator", "properties": { "role": { "kind": "parameter", "displayName": "Role", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaboration.Role", "enum": [ "EDITOR", "VIEWER", "PREVIEWER", "UPLOADER", "PREVIEWER_UPLOADER", "VIEWER_UPLOADER", "CO_OWNER", "OWNER" ], " [...]
+    "tasks": { "apiName": "tasks", "methods": { "addAssignmentToTask": { "apiMethodName": "addAssignmentToTask", "description": "The id of task to add assignment for", "properties": { "taskId": { "kind": "parameter", "displayName": "Task Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "deleteTask": { "apiMethodName": "deleteTask", "description": "The id of task to add  [...]
+    "events": { "apiName": "events", "methods": { "listen": { "apiMethodName": "listen", "description": "The starting position of the event stream", "properties": { "startingPosition": { "kind": "parameter", "displayName": "Starting Position", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "description": "" } } } } },
+    "groups": { "apiName": "groups", "methods": { "addGroupMembership": { "apiMethodName": "addGroupMembership", "description": "The id of user to be added to group", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "users": { "apiName": "users", "methods": { "addUserEmailAlias": { "apiMethodName": "addUserEmailAlias", "description": "The id of user", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "deleteUser": { "apiMethodName": "deleteUser", "description": "The id of user", "properties": { "userId": { "ki [...]
+    "folders": { "apiName": "folders", "methods": { "createFolderSharedLink": { "apiMethodName": "createFolderSharedLink", "description": "The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created.", "properties": { "unshareDate": { "kind": "parameter", "displayName": "Unshare Date", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, [...]
   }
 }
diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
index 6eb3b91..3813c1b 100644
--- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
+++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
@@ -150,192 +150,6 @@ with the following path and query parameters:
 | *userName* (security) | Box user name, MUST be provided |  | String
 | *userPassword* (security) | Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call |  | String
 |===
-
-
-
-
-=== Query API Parameters (10 APIs):
-
-The Box 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 apiName/methodName path parameters:
-
-----
-box:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== collaborations
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *collaborationId* | The id of comment to change | String
-| *collaborator* | The collaborator to add | BoxCollaborator
-| *email* | The email address of the collaborator to add | String
-| *folderId* | The id of folder to add collaboration to | String
-| *info* |  | Info
-| *role* | The role of the collaborator | Role
-|===
-
-
-==== comments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *commentId* | The id of comment to change | String
-| *fileId* | The id of file to rename | String
-| *message* | The comment's message | String
-|===
-
-
-==== event-logs
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *after* | The lower bound on the timestamp of the events returned | Date
-| *before* | The upper bound on the timestamp of the events returned | Date
-| *position* | The starting position of the event stream. May be null in which case all events within bounds returned. | String
-| *types* | An optional list of event types to filter by | Type[]
-|===
-
-
-==== events
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *startingPosition* | The starting position of the event stream | Long
-|===
-
-
-==== files
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *access* | The access level of the shared link | Access
-| *check* | If the file name is already used, call the uploadNewVersion instead. | Boolean
-| *content* | A stream containing contents of the file to upload | InputStream
-| *created* | The content created date that will be given to the uploaded file | Date
-| *destinationFolderId* | The id of the destination folder | String
-| *fields* | The information fields to retrieve; if null all information fields are retrieved. | String[]
-| *fileContent* | A stream containing contents of the file to upload | InputStream
-| *fileId* | The id of file to copy | String
-| *fileName* | The name to give the uploaded file | String
-| *fileSize* | The size of the file's content used for monitoring the upload's progress | Long
-| *fileType* | Either PNG of JPG | ThumbnailFileType
-| *info* | The updated information | Info
-| *listener* | A listener for monitoring the download's progress; if null the download's progress will not be monitored. | ProgressListener
-| *maxHeight* | Maximum height | Integer
-| *maxWidth* | Maximum width | Integer
-| *metadata* | The new metadata values | Metadata
-| *minHeight* | Minimum height | Integer
-| *minWidth* | Minimum width | Integer
-| *modified* | The content modified date that will be given to the uploaded file | Date
-| *newFileName* | The new name of file | String
-| *newName* | The new name for copied file; if newName is null, the copied file has same name as the original. | String
-| *output* | The stream to which the file contents will be written | OutputStream
-| *parentFolderId* | The id of parent folder | String
-| *permissions* | The permissions of the created link; if permissions is null then the created shared link is create with default permissions. | Permissions
-| *rangeEnd* | The byte offset in file at which to stop the download; if null the entire contents of file will be downloaded. | Long
-| *rangeStart* | The byte offset in file at which to start the download; if null the entire contents of file will be downloaded. | Long
-| *size* | The size of the file's content used for monitoring the upload's progress | Long
-| *typeName* | The metadata template type name; if null the global properties template type is used. | String
-| *unshareDate* | The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created. | Date
-| *version* | The version of file to delete; initial version of file has value of 0, second version of file is 1 and so on. | Integer
-|===
-
-
-==== folders
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *access* | The access level of the shared link | Access
-| *destinationFolderId* | The id of the destination folder | String
-| *fields* | The information fields to retrieve; if null all information fields are retrieved. | String[]
-| *folderId* | The id of folder to copy | String
-| *folderName* | The name of created folder | String
-| *info* | The updated information | Info
-| *limit* | The maximum number of children to retrieve after the offset; if null all child items are retrieved. | Long
-| *newFolderName* | The new name of folder | String
-| *newName* | The new name for copied folder; if newName is null, the copied folder has same name as the original. | String
-| *offset* | The index of first child item to retrieve; if null all child items are retrieved. | Long
-| *parentFolderId* | The id of parent folder | String
-| *path* | Sequence of Box folder names from parent folder to returned folder | String[]
-| *permissions* | The permissions of the created link; if permissions is null then the created shared link is create with default permissions. | Permissions
-| *unshareDate* | The date and time at which time the created shared link will expire; if unsharedDate is null then a non-expiring link is created. | Date
-|===
-
-
-==== groups
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *description* | The description of the new group | String
-| *externalSyncIdentifier* | The external_sync_identifier of the new group | String
-| *groupId* | The id of group | String
-| *groupInfo* | The updated information | Info
-| *groupMembershipId* | The id of group membership to delete | String
-| *info* | The updated information | Info
-| *invitabilityLevel* | The invitibility_level of the new group | String
-| *memberViewabilityLevel* | The member_viewability_level of the new group | String
-| *name* | The name of the new group | String
-| *provenance* | The provenance of the new group | String
-| *role* | The role of the user in this group. Can be null to assign the default role. | Role
-| *userId* | The id of user to be added to group | String
-|===
-
-
-==== search
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *folderId* | The id of folder searched | String
-| *query* | The search query | String
-|===
-
-
-==== tasks
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *action* | The action the task assignee will be prompted to do | Action
-| *assignTo* | The user to assign to task | BoxUser
-| *dueAt* | The day at which this task is due | Date
-| *fileId* | The id of file to add task to | String
-| *info* | The updated information | Info
-| *message* | An optional message to include with the task | String
-| *taskAssignmentId* | The id of task assignment to delete | String
-| *taskId* | The id of task to add assignment for | String
-|===
-
-
-==== users
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *email* | The email address to add as an alias | String
-| *emailAliasId* | The id of the email alias to delete | String
-| *fields* | The fields to retrieve. Leave this out for the standard fields. | String[]
-| *filterTerm* | The filter term to lookup users by (login for external, login or name for managed); if null all managed users are returned. | String
-| *force* | Whether or not this user should be deleted even if they still own files | Boolean
-| *info* | The updated information | Info
-| *login* | The email address the user will use to login | String
-| *name* | The name of the user | String
-| *notifyUser* | Whether or not to send an email notification to the user that their account has been deleted | Boolean
-| *params* | Additional user information | CreateUserParams
-| *sourceUserId* | The user id of the user whose files will be the source for this operation | String
-| *userId* | The id of user | String
-|===
 // endpoint options: END
 
 == URI format
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddOnGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddOnGatewayEndpointConfiguration.java
index b2bf0b8..1996a6c 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddOnGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddOnGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.AddOnGateway
  */
-@ApiParams(apiName = "addOn", apiMethods = "all")
+@ApiParams(apiName = "addOn", apiMethods = {@ApiMethod(methodName = "all")})
 @UriParams
 @Configurer
 public final class AddOnGatewayEndpointConfiguration extends BraintreeConfiguration {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddressGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddressGatewayEndpointConfiguration.java
index fac8aaf..3808124 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddressGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/AddressGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.AddressGateway
  */
-@ApiParams(apiName = "address", apiMethods = "create,delete,find,update")
+@ApiParams(apiName = "address", apiMethods = {@ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class AddressGatewayEndpointConfiguration extends BraintreeConfiguration {
-    @UriParam(description = "The id of the Customer")
+    @UriParam
+    @ApiParam(apiMethods = "create,delete,find,update", description = "The id of the Customer")
     private String customerId;
-    @UriParam(description = "The id of the Address to delete")
+    @UriParam
+    @ApiParam(apiMethods = "delete,find,update", description = "The id of the Address to delete")
     private String id;
-    @UriParam(description = "The request object")
+    @UriParam
+    @ApiParam(apiMethods = "create,update", description = "The request object")
     private com.braintreegateway.AddressRequest request;
 
     public String getCustomerId() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ClientTokenGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ClientTokenGatewayEndpointConfiguration.java
index 0213059..0658e92 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ClientTokenGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ClientTokenGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.ClientTokenGateway
  */
-@ApiParams(apiName = "clientToken", apiMethods = "generate")
+@ApiParams(apiName = "clientToken", apiMethods = {@ApiMethod(methodName = "generate")})
 @UriParams
 @Configurer
 public final class ClientTokenGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "generate")
     private com.braintreegateway.ClientTokenRequest request;
 
     public com.braintreegateway.ClientTokenRequest getRequest() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CreditCardVerificationGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CreditCardVerificationGatewayEndpointConfiguration.java
index c891b57..b38a9f3 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CreditCardVerificationGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CreditCardVerificationGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.CreditCardVerificationGateway
  */
-@ApiParams(apiName = "creditCardVerification", apiMethods = "create,find,search")
+@ApiParams(apiName = "creditCardVerification", apiMethods = {@ApiMethod(methodName = "create"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "search")})
 @UriParams
 @Configurer
 public final class CreditCardVerificationGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "find")
     private String id;
     @UriParam
+    @ApiParam(apiMethods = "search")
     private com.braintreegateway.CreditCardVerificationSearchRequest query;
     @UriParam
+    @ApiParam(apiMethods = "create")
     private com.braintreegateway.CreditCardVerificationRequest request;
 
     public String getId() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CustomerGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CustomerGatewayEndpointConfiguration.java
index 201d69c..e224fad 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CustomerGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/CustomerGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.CustomerGateway
  */
-@ApiParams(apiName = "customer", apiMethods = "all,create,delete,find,search,update")
+@ApiParams(apiName = "customer", apiMethods = {@ApiMethod(methodName = "all"), @ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "search"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class CustomerGatewayEndpointConfiguration extends BraintreeConfiguration {
-    @UriParam(description = "The id of the association filter to use")
+    @UriParam
+    @ApiParam(apiMethods = "find", description = "The id of the association filter to use")
     private String associationFilterId;
-    @UriParam(description = "The id of the Customer")
+    @UriParam
+    @ApiParam(apiMethods = "delete,find,update", description = "The id of the Customer")
     private String id;
-    @UriParam(description = "The request query to use for search")
+    @UriParam
+    @ApiParam(apiMethods = "search", description = "The request query to use for search")
     private com.braintreegateway.CustomerSearchRequest query;
-    @UriParam(description = "The request")
+    @UriParam
+    @ApiParam(apiMethods = "create,update", description = "The request")
     private com.braintreegateway.CustomerRequest request;
 
     public String getAssociationFilterId() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DiscountGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DiscountGatewayEndpointConfiguration.java
index e1f37ad..568cf1ad 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DiscountGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DiscountGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.DiscountGateway
  */
-@ApiParams(apiName = "discount", apiMethods = "all")
+@ApiParams(apiName = "discount", apiMethods = {@ApiMethod(methodName = "all")})
 @UriParams
 @Configurer
 public final class DiscountGatewayEndpointConfiguration extends BraintreeConfiguration {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DisputeGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DisputeGatewayEndpointConfiguration.java
index 8a8de32..95ac889 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DisputeGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DisputeGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,25 +14,33 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.DisputeGateway
  */
-@ApiParams(apiName = "dispute", apiMethods = "accept,addFileEvidence,addTextEvidence,finalize,find,removeEvidence,search")
+@ApiParams(apiName = "dispute", apiMethods = {@ApiMethod(methodName = "accept"), @ApiMethod(methodName = "addFileEvidence"), @ApiMethod(methodName = "addTextEvidence"), @ApiMethod(methodName = "finalize"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "removeEvidence"), @ApiMethod(methodName = "search")})
 @UriParams
 @Configurer
 public final class DisputeGatewayEndpointConfiguration extends BraintreeConfiguration {
-    @UriParam(description = "The content of the text evidence for the dispute")
+    @UriParam
+    @ApiParam(apiMethods = "addTextEvidence", description = "The content of the text evidence for the dispute")
     private String content;
-    @UriParam(description = "The dispute id to add text evidence to")
+    @UriParam
+    @ApiParam(apiMethods = "addFileEvidence,removeEvidence", description = "The dispute id to add text evidence to")
     private String disputeId;
-    @UriParam(description = "The document id of a previously uploaded document")
+    @UriParam
+    @ApiParam(apiMethods = "addFileEvidence", description = "The document id of a previously uploaded document")
     private String documentId;
-    @UriParam(description = "The evidence id to remove")
+    @UriParam
+    @ApiParam(apiMethods = "removeEvidence", description = "The evidence id to remove")
     private String evidenceId;
-    @UriParam(description = "The file evidence request for the dispute")
+    @UriParam
+    @ApiParam(apiMethods = "addFileEvidence", description = "The file evidence request for the dispute")
     private com.braintreegateway.FileEvidenceRequest fileEvidenceRequest;
-    @UriParam(description = "The dispute id to accept")
+    @UriParam
+    @ApiParam(apiMethods = "accept,addTextEvidence,finalize,find", description = "The dispute id to accept")
     private String id;
-    @UriParam(description = "The query for what disputes to find")
+    @UriParam
+    @ApiParam(apiMethods = "search", description = "The query for what disputes to find")
     private com.braintreegateway.DisputeSearchRequest query;
-    @UriParam(description = "The text evidence request for the dispute")
+    @UriParam
+    @ApiParam(apiMethods = "addTextEvidence", description = "The text evidence request for the dispute")
     private com.braintreegateway.TextEvidenceRequest textEvidenceRequest;
 
     public String getContent() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DocumentUploadGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DocumentUploadGatewayEndpointConfiguration.java
index 623e2c9..c9990d1 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DocumentUploadGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/DocumentUploadGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.DocumentUploadGateway
  */
-@ApiParams(apiName = "documentUpload", apiMethods = "create")
+@ApiParams(apiName = "documentUpload", apiMethods = {@ApiMethod(methodName = "create")})
 @UriParams
 @Configurer
 public final class DocumentUploadGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "create")
     private com.braintreegateway.DocumentUploadRequest request;
 
     public com.braintreegateway.DocumentUploadRequest getRequest() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java
index add64d8..6e58498 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/MerchantAccountGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.MerchantAccountGateway
  */
-@ApiParams(apiName = "merchantAccount", apiMethods = "all,create,createForCurrency,fetchMerchantAccounts,find,update")
+@ApiParams(apiName = "merchantAccount", apiMethods = {@ApiMethod(methodName = "all"), @ApiMethod(methodName = "create"), @ApiMethod(methodName = "createForCurrency"), @ApiMethod(methodName = "fetchMerchantAccounts"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class MerchantAccountGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "createForCurrency")
     private com.braintreegateway.MerchantAccountCreateForCurrencyRequest currencyRequest;
     @UriParam
+    @ApiParam(apiMethods = "find,update")
     private String id;
     @UriParam
+    @ApiParam(apiMethods = "fetchMerchantAccounts")
     private Integer page;
     @UriParam
+    @ApiParam(apiMethods = "create,update")
     private com.braintreegateway.MerchantAccountRequest request;
 
     public com.braintreegateway.MerchantAccountCreateForCurrencyRequest getCurrencyRequest() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java
index 3a4a358..1c31b68 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.PaymentMethodGateway
  */
-@ApiParams(apiName = "paymentMethod", apiMethods = "create,delete,find,grant,revoke,update")
+@ApiParams(apiName = "paymentMethod", apiMethods = {@ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "grant"), @ApiMethod(methodName = "revoke"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class PaymentMethodGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "delete")
     private com.braintreegateway.PaymentMethodDeleteRequest deleteRequest;
     @UriParam
+    @ApiParam(apiMethods = "grant")
     private com.braintreegateway.PaymentMethodGrantRequest grantRequest;
     @UriParam
+    @ApiParam(apiMethods = "create,update")
     private com.braintreegateway.PaymentMethodRequest request;
     @UriParam
+    @ApiParam(apiMethods = "delete,find,grant,revoke,update")
     private String token;
 
     public com.braintreegateway.PaymentMethodDeleteRequest getDeleteRequest() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodNonceGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodNonceGatewayEndpointConfiguration.java
index eeaae44..199fae0 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodNonceGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PaymentMethodNonceGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.PaymentMethodNonceGateway
  */
-@ApiParams(apiName = "paymentMethodNonce", apiMethods = "create,find")
+@ApiParams(apiName = "paymentMethodNonce", apiMethods = {@ApiMethod(methodName = "create"), @ApiMethod(methodName = "find")})
 @UriParams
 @Configurer
 public final class PaymentMethodNonceGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "find")
     private String paymentMethodNonce;
     @UriParam
+    @ApiParam(apiMethods = "create")
     private String paymentMethodToken;
     @UriParam
+    @ApiParam(apiMethods = "create")
     private com.braintreegateway.PaymentMethodNonceRequest request;
 
     public String getPaymentMethodNonce() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PlanGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PlanGatewayEndpointConfiguration.java
index 92e2d2f..30d6efe 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PlanGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/PlanGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.PlanGateway
  */
-@ApiParams(apiName = "plan", apiMethods = "all")
+@ApiParams(apiName = "plan", apiMethods = {@ApiMethod(methodName = "all")})
 @UriParams
 @Configurer
 public final class PlanGatewayEndpointConfiguration extends BraintreeConfiguration {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ReportGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ReportGatewayEndpointConfiguration.java
index 2939963..54ee284 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ReportGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/ReportGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.ReportGateway
  */
-@ApiParams(apiName = "report", apiMethods = "transactionLevelFees")
+@ApiParams(apiName = "report", apiMethods = {@ApiMethod(methodName = "transactionLevelFees")})
 @UriParams
 @Configurer
 public final class ReportGatewayEndpointConfiguration extends BraintreeConfiguration {
-    @UriParam(description = "The request")
+    @UriParam
+    @ApiParam(apiMethods = "transactionLevelFees", description = "The request")
     private com.braintreegateway.TransactionLevelFeeReportRequest request;
 
     public com.braintreegateway.TransactionLevelFeeReportRequest getRequest() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SettlementBatchSummaryGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SettlementBatchSummaryGatewayEndpointConfiguration.java
index 2b5e046..ca3ed73 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SettlementBatchSummaryGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SettlementBatchSummaryGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.SettlementBatchSummaryGateway
  */
-@ApiParams(apiName = "settlementBatchSummary", apiMethods = "generate")
+@ApiParams(apiName = "settlementBatchSummary", apiMethods = {@ApiMethod(methodName = "generate")})
 @UriParams
 @Configurer
 public final class SettlementBatchSummaryGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "generate")
     private String groupByCustomField;
     @UriParam
+    @ApiParam(apiMethods = "generate")
     private java.util.Calendar settlementDate;
 
     public String getGroupByCustomField() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SubscriptionGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SubscriptionGatewayEndpointConfiguration.java
index ed0a7e2..e909623 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SubscriptionGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/SubscriptionGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,23 +14,30 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.SubscriptionGateway
  */
-@ApiParams(apiName = "subscription", apiMethods = "cancel,create,delete,find,retryCharge,search,update")
+@ApiParams(apiName = "subscription", apiMethods = {@ApiMethod(methodName = "cancel"), @ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "retryCharge"), @ApiMethod(methodName = "search"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class SubscriptionGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "retryCharge")
     private java.math.BigDecimal amount;
     @UriParam
+    @ApiParam(apiMethods = "delete")
     private String customerId;
-    @UriParam(description = "Of the Subscription to cancel")
+    @UriParam
+    @ApiParam(apiMethods = "cancel,delete,find,update", description = "Of the Subscription to cancel")
     private String id;
-    @UriParam(description = "The request")
+    @UriParam
+    @ApiParam(apiMethods = "create,update", description = "The request")
     private com.braintreegateway.SubscriptionRequest request;
-    @UriParam(description = "The SubscriptionSearchRequest")
+    @UriParam
+    @ApiParam(apiMethods = "search", description = "The SubscriptionSearchRequest")
     private com.braintreegateway.SubscriptionSearchRequest searchRequest;
     @UriParam
+    @ApiParam(apiMethods = "retryCharge")
     private Boolean submitForSettlement;
     @UriParam
+    @ApiParam(apiMethods = "retryCharge")
     private String subscriptionId;
 
     public java.math.BigDecimal getAmount() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java
index ed88f38..ddc4f5a 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/TransactionGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,21 +14,27 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.TransactionGateway
  */
-@ApiParams(apiName = "transaction", apiMethods = "cancelRelease,cloneTransaction,credit,find,holdInEscrow,refund,releaseFromEscrow,sale,search,submitForPartialSettlement,submitForSettlement,updateDetails,voidTransaction")
+@ApiParams(apiName = "transaction", apiMethods = {@ApiMethod(methodName = "cancelRelease"), @ApiMethod(methodName = "cloneTransaction"), @ApiMethod(methodName = "credit"), @ApiMethod(methodName = "find"), @ApiMethod(methodName = "holdInEscrow"), @ApiMethod(methodName = "refund"), @ApiMethod(methodName = "releaseFromEscrow"), @ApiMethod(methodName = "sale"), @ApiMethod(methodName = "search"), @ApiMethod(methodName = "submitForPartialSettlement"), @ApiMethod(methodName = "submitForSettleme [...]
 @UriParams
 @Configurer
 public final class TransactionGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "refund,submitForPartialSettlement,submitForSettlement")
     private java.math.BigDecimal amount;
     @UriParam
+    @ApiParam(apiMethods = "cloneTransaction")
     private com.braintreegateway.TransactionCloneRequest cloneRequest;
-    @UriParam(description = "Of the transaction to cancel release from escrow of")
+    @UriParam
+    @ApiParam(apiMethods = "cancelRelease,cloneTransaction,find,holdInEscrow,refund,releaseFromEscrow,submitForPartialSettlement,submitForSettlement,updateDetails,voidTransaction", description = "Of the transaction to cancel release from escrow of")
     private String id;
-    @UriParam(description = "The search query")
+    @UriParam
+    @ApiParam(apiMethods = "search", description = "The search query")
     private com.braintreegateway.TransactionSearchRequest query;
     @UriParam
+    @ApiParam(apiMethods = "refund")
     private com.braintreegateway.TransactionRefundRequest refundRequest;
-    @UriParam(description = "The request")
+    @UriParam
+    @ApiParam(apiMethods = "credit,sale,submitForPartialSettlement,submitForSettlement,updateDetails", description = "The request")
     private com.braintreegateway.TransactionRequest request;
 
     public java.math.BigDecimal getAmount() {
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/WebhookNotificationGatewayEndpointConfiguration.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/WebhookNotificationGatewayEndpointConfiguration.java
index 0dd1b9a..5d0e81a 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/WebhookNotificationGatewayEndpointConfiguration.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/WebhookNotificationGatewayEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.braintree;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.braintreegateway.WebhookNotificationGateway
  */
-@ApiParams(apiName = "webhookNotification", apiMethods = "parse,verify")
+@ApiParams(apiName = "webhookNotification", apiMethods = {@ApiMethod(methodName = "parse"), @ApiMethod(methodName = "verify")})
 @UriParams
 @Configurer
 public final class WebhookNotificationGatewayEndpointConfiguration extends BraintreeConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "verify")
     private String challenge;
     @UriParam
+    @ApiParam(apiMethods = "parse")
     private String payload;
     @UriParam
+    @ApiParam(apiMethods = "parse")
     private String signature;
 
     public String getChallenge() {
diff --git a/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json b/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
index 22851fb..9d244be 100644
--- a/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
+++ b/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
@@ -67,22 +67,19 @@
     "publicKey": { "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.braintree.BraintreeConfiguration", "configurationField": "configuration", "description": "The public key provided by Braintree." }
   },
   "apiProperties": {
-    "addOn": {  },
-    "address": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Address [...]
-    "clientToken": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "" } },
-    "creditCardVerification": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "query": { "kind": "parameter", "displayName": "Query", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationSearchRequest", "deprecated": false, "secret": false, "description":  [...]
-    "customer": { "associationFilterId": { "kind": "parameter", "displayName": "Association Filter Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the association filter to use" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false,  [...]
-    "discount": {  },
-    "dispute": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The content of the text evidence for the dispute" }, "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "de [...]
-    "documentUpload": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "" } },
-    "merchantAccount": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountCreateForCurrencyRequest", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "paymentMethod": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodDeleteRequest", "deprecated": false, "secret": false, "description": "" }, "grantRequest": { "kind": "parameter", "displayName": "Grant Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodGrantRequest", "de [...]
-    "paymentMethodNonce": { "paymentMethodNonce": { "kind": "parameter", "displayName": "Payment Method Nonce", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "plan": {  },
-    "report": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request" } },
-    "settlementBatchSummary": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Calendar", "deprecated": false, "secret": false, [...]
-    "subscription": { "amount": { "kind": "parameter", "displayName": "Amount", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.math.BigDecimal", "deprecated": false, "secret": false, "description": "" }, "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "para [...]
-    "transaction": { "amount": { "kind": "parameter", "displayName": "Amount", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.math.BigDecimal", "deprecated": false, "secret": false, "description": "" }, "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionCloneRequest", "deprecated": false, "secret": false, "descriptio [...]
-    "webhookNotification": { "challenge": { "kind": "parameter", "displayName": "Challenge", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" }, "signature": { "kin [...]
+    "paymentMethodNonce": { "apiName": "paymentMethodNonce", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodNonceRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "documentUpload": { "apiName": "documentUpload", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "subscription": { "apiName": "subscription", "methods": { "retryCharge": { "apiMethodName": "retryCharge", "description": "", "properties": { "subscriptionId": { "kind": "parameter", "displayName": "Subscription Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "dispute": { "apiName": "dispute", "methods": { "addTextEvidence": { "apiMethodName": "addTextEvidence", "description": "The text evidence request for the dispute", "properties": { "textEvidenceRequest": { "kind": "parameter", "displayName": "Text Evidence Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TextEvidenceRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "settlementBatchSummary": { "apiName": "settlementBatchSummary", "methods": { "generate": { "apiMethodName": "generate", "description": "", "properties": { "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Calendar", "deprecated": false, "secret": false, "description": "" } } } } },
+    "address": { "apiName": "address", "methods": { "create": { "apiMethodName": "create", "description": "The request object", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.AddressRequest", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The request object", "properties": { "request": {  [...]
+    "webhookNotification": { "apiName": "webhookNotification", "methods": { "parse": { "apiMethodName": "parse", "description": "", "properties": { "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "creditCardVerification": { "apiName": "creditCardVerification", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "transaction": { "apiName": "transaction", "methods": { "credit": { "apiMethodName": "credit", "description": "The request", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionRequest", "deprecated": false, "secret": false, "description": "" } } }, "sale": { "apiMethodName": "sale", "description": "The request", "properties": { "request": { "kind" [...]
+    "report": { "apiName": "report", "methods": { "transactionLevelFees": { "apiMethodName": "transactionLevelFees", "description": "The request", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "paymentMethod": { "apiName": "paymentMethod", "methods": { "delete": { "apiMethodName": "delete", "description": "", "properties": { "token": { "kind": "parameter", "displayName": "Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "find": { "apiMethodName": "find", "description": "", "properties": { "token": { "kind": "parameter", "displayName": "Token", "group": [...]
+    "clientToken": { "apiName": "clientToken", "methods": { "generate": { "apiMethodName": "generate", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "merchantAccount": { "apiName": "merchantAccount", "methods": { "create": { "apiMethodName": "create", "description": "", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "", "properties": { "request": { "kind": "par [...]
+    "customer": { "apiName": "customer", "methods": { "create": { "apiMethodName": "create", "description": "The request", "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The request", "properties": { "request": { "kind": "pa [...]
   }
 }
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 7476be9..d01f74d 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -123,197 +123,6 @@ with the following path and query parameters:
 | *privateKey* (security) | The private key provided by Braintree. |  | String
 | *publicKey* (security) | The public key provided by Braintree. |  | String
 |===
-
-
-
-
-=== Query API Parameters (17 APIs):
-
-The Braintree 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 apiName/methodName path parameters:
-
-----
-braintree:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== addOn
-
-The addOn method has no API parameters.
-
-
-==== address
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *customerId* | The id of the Customer | String
-| *id* | The id of the Address to delete | String
-| *request* | The request object | AddressRequest
-|===
-
-
-==== clientToken
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *request* |  | ClientTokenRequest
-|===
-
-
-==== creditCardVerification
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *id* |  | String
-| *query* |  | CreditCardVerificationSearchRequest
-| *request* |  | CreditCardVerificationRequest
-|===
-
-
-==== customer
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *associationFilterId* | The id of the association filter to use | String
-| *id* | The id of the Customer | String
-| *query* | The request query to use for search | CustomerSearchRequest
-| *request* | The request | CustomerRequest
-|===
-
-
-==== discount
-
-The discount method has no API parameters.
-
-
-==== dispute
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The content of the text evidence for the dispute | String
-| *disputeId* | The dispute id to add text evidence to | String
-| *documentId* | The document id of a previously uploaded document | String
-| *evidenceId* | The evidence id to remove | String
-| *fileEvidenceRequest* | The file evidence request for the dispute | FileEvidenceRequest
-| *id* | The dispute id to accept | String
-| *query* | The query for what disputes to find | DisputeSearchRequest
-| *textEvidenceRequest* | The text evidence request for the dispute | TextEvidenceRequest
-|===
-
-
-==== documentUpload
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *request* |  | DocumentUploadRequest
-|===
-
-
-==== merchantAccount
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *currencyRequest* |  | MerchantAccountCreateForCurrencyRequest
-| *id* |  | String
-| *page* |  | Integer
-| *request* |  | MerchantAccountRequest
-|===
-
-
-==== paymentMethod
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *deleteRequest* |  | PaymentMethodDeleteRequest
-| *grantRequest* |  | PaymentMethodGrantRequest
-| *request* |  | PaymentMethodRequest
-| *token* |  | String
-|===
-
-
-==== paymentMethodNonce
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *paymentMethodNonce* |  | String
-| *paymentMethodToken* |  | String
-| *request* |  | PaymentMethodNonceRequest
-|===
-
-
-==== plan
-
-The plan method has no API parameters.
-
-
-==== report
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *request* | The request | TransactionLevelFeeReportRequest
-|===
-
-
-==== settlementBatchSummary
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *groupByCustomField* |  | String
-| *settlementDate* |  | Calendar
-|===
-
-
-==== subscription
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *amount* |  | BigDecimal
-| *customerId* |  | String
-| *id* | Of the Subscription to cancel | String
-| *request* | The request | SubscriptionRequest
-| *searchRequest* | The SubscriptionSearchRequest | SubscriptionSearchRequest
-| *submitForSettlement* |  | Boolean
-| *subscriptionId* |  | String
-|===
-
-
-==== transaction
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *amount* |  | BigDecimal
-| *cloneRequest* |  | TransactionCloneRequest
-| *id* | Of the transaction to cancel release from escrow of | String
-| *query* | The search query | TransactionSearchRequest
-| *refundRequest* |  | TransactionRefundRequest
-| *request* | The request | TransactionRequest
-|===
-
-
-==== webhookNotification
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *challenge* |  | String
-| *payload* |  | String
-| *signature* |  | String
-|===
 // endpoint options: END
 
 == Producer Endpoints:
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCapabilitiesEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCapabilitiesEndpointConfiguration.java
index 80efccc..f3c879f 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCapabilitiesEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCapabilitiesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirCapabilities
  */
-@ApiParams(apiName = "capabilities", apiMethods = "ofType")
+@ApiParams(apiName = "capabilities", apiMethods = {@ApiMethod(methodName = "ofType")})
 @UriParams
 @Configurer
 public final class FhirCapabilitiesEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "ofType")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "ofType")
     private Class<org.hl7.fhir.instance.model.api.IBaseConformance> type;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCreateEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCreateEndpointConfiguration.java
index 6ce2cec..678dcf4 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCreateEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirCreateEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,19 +14,24 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirCreate
  */
-@ApiParams(apiName = "create", apiMethods = "resource")
+@ApiParams(apiName = "create", apiMethods = {@ApiMethod(methodName = "resource")})
 @UriParams
 @Configurer
 public final class FhirCreateEndpointConfiguration extends FhirConfiguration {
-    @UriParam(description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
+    @UriParam
+    @ApiParam(apiMethods = "resource", description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
-    @UriParam(description = "Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() , may be null")
+    @UriParam
+    @ApiParam(apiMethods = "resource", description = "Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() , may be null")
     private ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn;
-    @UriParam(description = "The resource to create")
+    @UriParam
+    @ApiParam(apiMethods = "resource", description = "The resource to create")
     private org.hl7.fhir.instance.model.api.IBaseResource resource;
-    @UriParam(description = "The resource to create")
+    @UriParam
+    @ApiParam(apiMethods = "resource", description = "The resource to create")
     private String resourceAsString;
-    @UriParam(description = "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366, may be null")
+    @UriParam
+    @ApiParam(apiMethods = "resource", description = "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366, may be null")
     private String url;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirDeleteEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirDeleteEndpointConfiguration.java
index d2078fc..0b691df 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirDeleteEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirDeleteEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,21 +14,27 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirDelete
  */
-@ApiParams(apiName = "delete", apiMethods = "resource,resourceById,resourceConditionalByUrl")
+@ApiParams(apiName = "delete", apiMethods = {@ApiMethod(methodName = "resource"), @ApiMethod(methodName = "resourceById"), @ApiMethod(methodName = "resourceConditionalByUrl")})
 @UriParams
 @Configurer
 public final class FhirDeleteEndpointConfiguration extends FhirConfiguration {
-    @UriParam(description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
+    @UriParam
+    @ApiParam(apiMethods = "resource,resourceById,resourceConditionalByUrl", description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
-    @UriParam(description = "The IIdType referencing the resource")
+    @UriParam
+    @ApiParam(apiMethods = "resourceById", description = "The IIdType referencing the resource")
     private org.hl7.fhir.instance.model.api.IIdType id;
-    @UriParam(description = "The IBaseResource to delete")
+    @UriParam
+    @ApiParam(apiMethods = "resource", description = "The IBaseResource to delete")
     private org.hl7.fhir.instance.model.api.IBaseResource resource;
-    @UriParam(description = "It's id")
+    @UriParam
+    @ApiParam(apiMethods = "resourceById", description = "It's id")
     private String stringId;
-    @UriParam(description = "The resource type e.g Patient")
+    @UriParam
+    @ApiParam(apiMethods = "resourceById", description = "The resource type e.g Patient")
     private String type;
-    @UriParam(description = "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366")
+    @UriParam
+    @ApiParam(apiMethods = "resourceConditionalByUrl", description = "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366")
     private String url;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirHistoryEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirHistoryEndpointConfiguration.java
index 645d42b..b17ec00 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirHistoryEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirHistoryEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,23 +14,30 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirHistory
  */
-@ApiParams(apiName = "history", apiMethods = "onInstance,onServer,onType")
+@ApiParams(apiName = "history", apiMethods = {@ApiMethod(methodName = "onInstance"), @ApiMethod(methodName = "onServer"), @ApiMethod(methodName = "onType")})
 @UriParams
 @Configurer
 public final class FhirHistoryEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onServer,onType")
     private Integer count;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onServer,onType")
     private java.util.Date cutoff;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onServer,onType")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onServer,onType")
     private org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff;
     @UriParam
+    @ApiParam(apiMethods = "onInstance")
     private org.hl7.fhir.instance.model.api.IIdType id;
     @UriParam
+    @ApiParam(apiMethods = "onType")
     private Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onServer,onType")
     private Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType;
 
     public Integer getCount() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirLoadPageEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirLoadPageEndpointConfiguration.java
index 100a09f..40dff76 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirLoadPageEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirLoadPageEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirLoadPage
  */
-@ApiParams(apiName = "load-page", apiMethods = "byUrl,next,previous")
+@ApiParams(apiName = "load-page", apiMethods = {@ApiMethod(methodName = "byUrl"), @ApiMethod(methodName = "next"), @ApiMethod(methodName = "previous")})
 @UriParams
 @Configurer
 public final class FhirLoadPageEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "next,previous")
     private org.hl7.fhir.instance.model.api.IBaseBundle bundle;
     @UriParam
+    @ApiParam(apiMethods = "byUrl,next,previous")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "byUrl")
     private Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType;
     @UriParam
+    @ApiParam(apiMethods = "byUrl")
     private String url;
 
     public org.hl7.fhir.instance.model.api.IBaseBundle getBundle() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirMetaEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirMetaEndpointConfiguration.java
index 124854e..c58ae8b 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirMetaEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirMetaEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,19 +14,24 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirMeta
  */
-@ApiParams(apiName = "meta", apiMethods = "add,delete,getFromResource,getFromServer,getFromType")
+@ApiParams(apiName = "meta", apiMethods = {@ApiMethod(methodName = "add"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "getFromResource"), @ApiMethod(methodName = "getFromServer"), @ApiMethod(methodName = "getFromType")})
 @UriParams
 @Configurer
 public final class FhirMetaEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "add,delete,getFromResource,getFromServer,getFromType")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "add,delete,getFromResource")
     private org.hl7.fhir.instance.model.api.IIdType id;
     @UriParam
+    @ApiParam(apiMethods = "add,delete")
     private org.hl7.fhir.instance.model.api.IBaseMetaType meta;
     @UriParam
+    @ApiParam(apiMethods = "getFromResource,getFromServer,getFromType")
     private Class<org.hl7.fhir.instance.model.api.IBaseMetaType> metaType;
     @UriParam
+    @ApiParam(apiMethods = "getFromType")
     private String theResourceName;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirOperationEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirOperationEndpointConfiguration.java
index 85379f8..e87e382 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirOperationEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirOperationEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,33 +14,45 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirOperation
  */
-@ApiParams(apiName = "operation", apiMethods = "onInstance,onInstanceVersion,onServer,onType,processMessage")
+@ApiParams(apiName = "operation", apiMethods = {@ApiMethod(methodName = "onInstance"), @ApiMethod(methodName = "onInstanceVersion"), @ApiMethod(methodName = "onServer"), @ApiMethod(methodName = "onType"), @ApiMethod(methodName = "processMessage")})
 @UriParams
 @Configurer
 public final class FhirOperationEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "processMessage")
     private Boolean asynchronous;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion,onServer,onType,processMessage")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion")
     private org.hl7.fhir.instance.model.api.IIdType id;
     @UriParam
+    @ApiParam(apiMethods = "processMessage")
     private org.hl7.fhir.instance.model.api.IBaseBundle msgBundle;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion,onServer,onType")
     private String name;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion,onServer,onType")
     private Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion,onServer,onType")
     private org.hl7.fhir.instance.model.api.IBaseParameters parameters;
     @UriParam
+    @ApiParam(apiMethods = "onType")
     private Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType;
     @UriParam
+    @ApiParam(apiMethods = "processMessage")
     private String respondToUri;
     @UriParam
+    @ApiParam(apiMethods = "processMessage")
     private Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion,onServer,onType")
     private Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType;
     @UriParam
+    @ApiParam(apiMethods = "onInstance,onInstanceVersion,onServer,onType")
     private Boolean useHttpGet;
 
     public Boolean getAsynchronous() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirPatchEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirPatchEndpointConfiguration.java
index 622cbc0..60e5f72 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirPatchEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirPatchEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,21 +14,27 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirPatch
  */
-@ApiParams(apiName = "patch", apiMethods = "patchById,patchByUrl")
+@ApiParams(apiName = "patch", apiMethods = {@ApiMethod(methodName = "patchById"), @ApiMethod(methodName = "patchByUrl")})
 @UriParams
 @Configurer
 public final class FhirPatchEndpointConfiguration extends FhirConfiguration {
-    @UriParam(description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
+    @UriParam
+    @ApiParam(apiMethods = "patchById,patchByUrl", description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
-    @UriParam(description = "The resource ID to patch")
+    @UriParam
+    @ApiParam(apiMethods = "patchById", description = "The resource ID to patch")
     private org.hl7.fhir.instance.model.api.IIdType id;
-    @UriParam(description = "The body of the patch document serialized in either XML or JSON which conforms to http://jsonpatch.com/ or http://tools.ietf.org/html/rfc5261")
+    @UriParam
+    @ApiParam(apiMethods = "patchById,patchByUrl", description = "The body of the patch document serialized in either XML or JSON which conforms to http://jsonpatch.com/ or http://tools.ietf.org/html/rfc5261")
     private String patchBody;
-    @UriParam(description = "Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource()")
+    @UriParam
+    @ApiParam(apiMethods = "patchById,patchByUrl", description = "Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource()")
     private ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn;
-    @UriParam(description = "The resource ID to patch")
+    @UriParam
+    @ApiParam(apiMethods = "patchById", description = "The resource ID to patch")
     private String stringId;
-    @UriParam(description = "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366")
+    @UriParam
+    @ApiParam(apiMethods = "patchByUrl", description = "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366")
     private String url;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirReadEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirReadEndpointConfiguration.java
index 70d2640..35b0b7b 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirReadEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirReadEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,35 +14,48 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirRead
  */
-@ApiParams(apiName = "read", apiMethods = "resourceById,resourceByUrl")
+@ApiParams(apiName = "read", apiMethods = {@ApiMethod(methodName = "resourceById"), @ApiMethod(methodName = "resourceByUrl")})
 @UriParams
 @Configurer
 public final class FhirReadEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "resourceByUrl")
     private org.hl7.fhir.instance.model.api.IIdType iUrl;
     @UriParam
+    @ApiParam(apiMethods = "resourceById")
     private org.hl7.fhir.instance.model.api.IIdType id;
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private String ifVersionMatches;
     @UriParam
+    @ApiParam(apiMethods = "resourceById")
     private Long longId;
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private Class<org.hl7.fhir.instance.model.api.IBaseResource> resource;
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private String resourceClass;
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private Boolean returnNull;
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private org.hl7.fhir.instance.model.api.IBaseResource returnResource;
     @UriParam
+    @ApiParam(apiMethods = "resourceById")
     private String stringId;
     @UriParam
+    @ApiParam(apiMethods = "resourceById,resourceByUrl")
     private Boolean throwError;
     @UriParam
+    @ApiParam(apiMethods = "resourceByUrl")
     private String url;
     @UriParam
+    @ApiParam(apiMethods = "resourceById")
     private String version;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirSearchEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirSearchEndpointConfiguration.java
index de1f934..ed0fd66 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirSearchEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirSearchEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirSearch
  */
-@ApiParams(apiName = "search", apiMethods = "searchByUrl")
+@ApiParams(apiName = "search", apiMethods = {@ApiMethod(methodName = "searchByUrl")})
 @UriParams
 @Configurer
 public final class FhirSearchEndpointConfiguration extends FhirConfiguration {
-    @UriParam(description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
+    @UriParam
+    @ApiParam(apiMethods = "searchByUrl", description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
-    @UriParam(description = "The URL to search for. Note that this URL may be complete (e.g. http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used.")
+    @UriParam
+    @ApiParam(apiMethods = "searchByUrl", description = "The URL to search for. Note that this URL may be complete (e.g. http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used.")
     private String url;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirTransactionEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirTransactionEndpointConfiguration.java
index 6d50d82..3997f67 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirTransactionEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirTransactionEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirTransaction
  */
-@ApiParams(apiName = "transaction", apiMethods = "withBundle,withResources")
+@ApiParams(apiName = "transaction", apiMethods = {@ApiMethod(methodName = "withBundle"), @ApiMethod(methodName = "withResources")})
 @UriParams
 @Configurer
 public final class FhirTransactionEndpointConfiguration extends FhirConfiguration {
-    @UriParam(description = "Bundle to use in the transaction")
+    @UriParam
+    @ApiParam(apiMethods = "withBundle", description = "Bundle to use in the transaction")
     private org.hl7.fhir.instance.model.api.IBaseBundle bundle;
-    @UriParam(description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
+    @UriParam
+    @ApiParam(apiMethods = "withBundle,withResources", description = "See ExtraParameters for a full list of parameters that can be passed, may be NULL")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
-    @UriParam(description = "Resources to use in the transaction")
+    @UriParam
+    @ApiParam(apiMethods = "withResources", description = "Resources to use in the transaction")
     private java.util.List<org.hl7.fhir.instance.model.api.IBaseResource> resources;
-    @UriParam(description = "Bundle to use in the transaction")
+    @UriParam
+    @ApiParam(apiMethods = "withBundle", description = "Bundle to use in the transaction")
     private String stringBundle;
 
     public org.hl7.fhir.instance.model.api.IBaseBundle getBundle() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirUpdateEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirUpdateEndpointConfiguration.java
index 671f3b5..aa346a6 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirUpdateEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirUpdateEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,23 +14,30 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirUpdate
  */
-@ApiParams(apiName = "update", apiMethods = "resource,resourceBySearchUrl")
+@ApiParams(apiName = "update", apiMethods = {@ApiMethod(methodName = "resource"), @ApiMethod(methodName = "resourceBySearchUrl")})
 @UriParams
 @Configurer
 public final class FhirUpdateEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "resource,resourceBySearchUrl")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "resource")
     private org.hl7.fhir.instance.model.api.IIdType id;
     @UriParam
+    @ApiParam(apiMethods = "resource,resourceBySearchUrl")
     private ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn;
     @UriParam
+    @ApiParam(apiMethods = "resource,resourceBySearchUrl")
     private org.hl7.fhir.instance.model.api.IBaseResource resource;
     @UriParam
+    @ApiParam(apiMethods = "resource,resourceBySearchUrl")
     private String resourceAsString;
     @UriParam
+    @ApiParam(apiMethods = "resource")
     private String stringId;
     @UriParam
+    @ApiParam(apiMethods = "resourceBySearchUrl")
     private String url;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirValidateEndpointConfiguration.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirValidateEndpointConfiguration.java
index eecce82..a0a6dfa 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirValidateEndpointConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirValidateEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.fhir;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.fhir.api.FhirValidate
  */
-@ApiParams(apiName = "validate", apiMethods = "resource")
+@ApiParams(apiName = "validate", apiMethods = {@ApiMethod(methodName = "resource")})
 @UriParams
 @Configurer
 public final class FhirValidateEndpointConfiguration extends FhirConfiguration {
     @UriParam
+    @ApiParam(apiMethods = "resource")
     private java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> extraParameters;
     @UriParam
+    @ApiParam(apiMethods = "resource")
     private org.hl7.fhir.instance.model.api.IBaseResource resource;
     @UriParam
+    @ApiParam(apiMethods = "resource")
     private String resourceAsString;
 
     public java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters,Object> getExtraParameters() {
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json b/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json
index 92d08ed..8eb6897 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json
+++ b/components/camel-fhir/camel-fhir-component/src/generated/resources/org/apache/camel/component/fhir/fhir.json
@@ -102,18 +102,18 @@
     "username": { "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.fhir.FhirConfiguration", "configurationField": "configuration", "description": "Username to use for basic authentication" }
   },
   "apiProperties": {
-    "capabilities": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "type": { "kind": "parameter", "displayName": "Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class<org.hl7.fhir. [...]
-    "create": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "preferReturn": { "kind": "parameter", "displayName": "Prefer Return", "group": "common",  [...]
-    "delete": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "require [...]
-    "history": { "count": { "kind": "parameter", "displayName": "Count", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "secret": false, "description": "" }, "cutoff": { "kind": "parameter", "displayName": "Cutoff", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "secret": false, "description": "" }, "extraParameters": { "kind": "parameter", [...]
-    "load-page": { "bundle": { "kind": "parameter", "displayName": "Bundle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IBaseBundle", "deprecated": false, "secret": false, "description": "" }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, ja [...]
-    "meta": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IIdType", [...]
-    "operation": { "asynchronous": { "kind": "parameter", "displayName": "Asynchronous", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "description": "" }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Objec [...]
-    "patch": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required [...]
-    "read": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "iUrl": { "kind": "parameter", "displayName": "IUrl", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IIdTy [...]
-    "search": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "See ExtraParameters for a full list of parameters that can be passed, may be NULL" }, "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "requi [...]
-    "transaction": { "bundle": { "kind": "parameter", "displayName": "Bundle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IBaseBundle", "deprecated": false, "secret": false, "description": "Bundle to use in the transaction" }, "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.comp [...]
-    "update": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.model.api.IIdType [...]
-    "validate": { "extraParameters": { "kind": "parameter", "displayName": "Extra Parameters", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, java.lang.Object>", "deprecated": false, "secret": false, "description": "" }, "resource": { "kind": "parameter", "displayName": "Resource", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.hl7.fhir.instance.mod [...]
+    "update": { "apiName": "update", "methods": { "resourceBySearchUrl": { "apiMethodName": "resourceBySearchUrl", "description": "", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "create": { "apiName": "create", "methods": { "resource": { "apiMethodName": "resource", "description": "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366, may be null", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "d [...]
+    "validate": { "apiName": "validate", "methods": { "resource": { "apiMethodName": "resource", "description": "", "properties": { "resourceAsString": { "kind": "parameter", "displayName": "Resource As String", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "operation": { "apiName": "operation", "methods": { "onInstance": { "apiMethodName": "onInstance", "description": "", "properties": { "useHttpGet": { "kind": "parameter", "displayName": "Use Http Get", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "secret": false, "description": "" } } }, "onInstanceVersion": { "apiMethodName": "onInstanceVersion", "description": "", "properties": { "useHttpGet": { "kind":  [...]
+    "search": { "apiName": "search", "methods": { "searchByUrl": { "apiMethodName": "searchByUrl", "description": "The URL to search for. Note that this URL may be complete (e.g. http:\/\/example.com\/base\/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used.", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, [...]
+    "capabilities": { "apiName": "capabilities", "methods": { "ofType": { "apiMethodName": "ofType", "description": "", "properties": { "type": { "kind": "parameter", "displayName": "Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class<org.hl7.fhir.instance.model.api.IBaseConformance>", "deprecated": false, "secret": false, "description": "" } } } } },
+    "patch": { "apiName": "patch", "methods": { "patchByUrl": { "apiMethodName": "patchByUrl", "description": "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description" [...]
+    "meta": { "apiName": "meta", "methods": { "getFromType": { "apiMethodName": "getFromType", "description": "", "properties": { "theResourceName": { "kind": "parameter", "displayName": "The Resource Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "history": { "apiName": "history", "methods": { "onInstance": { "apiMethodName": "onInstance", "description": "", "properties": { "returnType": { "kind": "parameter", "displayName": "Return Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.Class<org.hl7.fhir.instance.model.api.IBaseBundle>", "deprecated": false, "secret": false, "description": "" } } }, "onServer": { "apiMethodName": "onServer", "description": "", "properties": { "retu [...]
+    "load-page": { "apiName": "load-page", "methods": { "byUrl": { "apiMethodName": "byUrl", "description": "", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "transaction": { "apiName": "transaction", "methods": { "withBundle": { "apiMethodName": "withBundle", "description": "Bundle to use in the transaction", "properties": { "stringBundle": { "kind": "parameter", "displayName": "String Bundle", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "read": { "apiName": "read", "methods": { "resourceById": { "apiMethodName": "resourceById", "description": "", "properties": { "version": { "kind": "parameter", "displayName": "Version", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "delete": { "apiName": "delete", "methods": { "resourceConditionalByUrl": { "apiMethodName": "resourceConditionalByUrl", "description": "The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366", "properties": { "url": { "kind": "parameter", "displayName": "Url", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false,  [...]
   }
 }
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index cc29013..ce38bb4 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -166,200 +166,6 @@ with the following path and query parameters:
 | *password* (security) | Username to use for basic authentication |  | String
 | *username* (security) | Username to use for basic authentication |  | String
 |===
-
-
-
-
-=== Query API Parameters (13 APIs):
-
-The FHIR 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 apiName/methodName path parameters:
-
-----
-fhir:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== capabilities
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *type* |  | Class
-|===
-
-
-==== create
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *preferReturn* | Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() , may be null | PreferReturnEnum
-| *resource* | The resource to create | IBaseResource
-| *resourceAsString* | The resource to create | String
-| *url* | The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366, may be null | String
-|===
-
-
-==== delete
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *id* | The IIdType referencing the resource | IIdType
-| *resource* | The IBaseResource to delete | IBaseResource
-| *stringId* | It's id | String
-| *type* | The resource type e.g Patient | String
-| *url* | The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-
-==== history
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *count* |  | Integer
-| *cutoff* |  | Date
-| *extraParameters* |  | Map
-| *iCutoff* |  | IPrimitiveType
-| *id* |  | IIdType
-| *resourceType* |  | Class
-| *returnType* |  | Class
-|===
-
-
-==== load-page
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *bundle* |  | IBaseBundle
-| *extraParameters* |  | Map
-| *returnType* |  | Class
-| *url* |  | String
-|===
-
-
-==== meta
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *id* |  | IIdType
-| *meta* |  | IBaseMetaType
-| *metaType* |  | Class
-| *theResourceName* |  | String
-|===
-
-
-==== operation
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *asynchronous* |  | Boolean
-| *extraParameters* |  | Map
-| *id* |  | IIdType
-| *msgBundle* |  | IBaseBundle
-| *name* |  | String
-| *outputParameterType* |  | Class
-| *parameters* |  | IBaseParameters
-| *resourceType* |  | Class
-| *respondToUri* |  | String
-| *responseClass* |  | Class
-| *returnType* |  | Class
-| *useHttpGet* |  | Boolean
-|===
-
-
-==== patch
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *id* | The resource ID to patch | IIdType
-| *patchBody* | The body of the patch document serialized in either XML or JSON which conforms to \http://jsonpatch.com/ or \http://tools.ietf.org/html/rfc5261 | String
-| *preferReturn* | Add a Prefer header to the request, which requests that the server include or suppress the resource body as a part of the result. If a resource is returned by the server it will be parsed an accessible to the client via MethodOutcome#getResource() | PreferReturnEnum
-| *stringId* | The resource ID to patch | String
-| *url* | The search URL to use. The format of this URL should be of the form ResourceTypeParameters, for example: Patientname=Smith&amp;identifier=13.2.4.11.4%7C847366 | String
-|===
-
-
-==== read
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *iUrl* |  | IIdType
-| *id* |  | IIdType
-| *ifVersionMatches* |  | String
-| *longId* |  | Long
-| *resource* |  | Class
-| *resourceClass* |  | String
-| *returnNull* |  | Boolean
-| *returnResource* |  | IBaseResource
-| *stringId* |  | String
-| *throwError* |  | Boolean
-| *url* |  | String
-| *version* |  | String
-|===
-
-
-==== search
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *url* | The URL to search for. Note that this URL may be complete (e.g. \http://example.com/base/Patientname=foo) in which case the client's base URL will be ignored. Or it can be relative (e.g. Patientname=foo) in which case the client's base URL will be used. | String
-|===
-
-
-==== transaction
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *bundle* | Bundle to use in the transaction | IBaseBundle
-| *extraParameters* | See ExtraParameters for a full list of parameters that can be passed, may be NULL | Map
-| *resources* | Resources to use in the transaction | List
-| *stringBundle* | Bundle to use in the transaction | String
-|===
-
-
-==== update
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *id* |  | IIdType
-| *preferReturn* |  | PreferReturnEnum
-| *resource* |  | IBaseResource
-| *resourceAsString* |  | String
-| *stringId* |  | String
-| *url* |  | String
-|===
-
-
-==== validate
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *extraParameters* |  | Map
-| *resource* |  | IBaseResource
-| *resourceAsString* |  | String
-|===
 // endpoint options: END
 
 include::camel-spring-boot::page$fhir-starter.adoc[]
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java
index 8cae729..58554e8 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Acl
  */
-@ApiParams(apiName = "acl", apiMethods = "delete,get,insert,list,patch,update,watch")
+@ApiParams(apiName = "acl", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update"), @ApiMethod(methodName = "watch")})
 @UriParams
 @Configurer
 public final class CalendarAclEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list,patch,update,watch", description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
     private String calendarId;
-    @UriParam(description = "The com.google.api.services.calendar.model.AclRule")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.calendar.model.AclRule")
     private com.google.api.services.calendar.model.AclRule content;
-    @UriParam(description = "The com.google.api.services.calendar.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.calendar.model.Channel")
     private com.google.api.services.calendar.model.Channel contentChannel;
-    @UriParam(description = "ACL rule identifier")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "ACL rule identifier")
     private String ruleId;
 
     public String getCalendarId() {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java
index c527fc8..a1782fb 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$CalendarList
  */
-@ApiParams(apiName = "list", apiMethods = "delete,get,insert,list,patch,update,watch")
+@ApiParams(apiName = "list", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update"), @ApiMethod(methodName = "watch")})
 @UriParams
 @Configurer
 public final class CalendarCalendarListEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
     private String calendarId;
-    @UriParam(description = "The com.google.api.services.calendar.model.CalendarListEntry")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.calendar.model.CalendarListEntry")
     private com.google.api.services.calendar.model.CalendarListEntry content;
-    @UriParam(description = "The com.google.api.services.calendar.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.calendar.model.Channel")
     private com.google.api.services.calendar.model.Channel contentChannel;
 
     public String getCalendarId() {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfiguration.java
index f2a9dd1..29493b7 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Calendars
  */
-@ApiParams(apiName = "calendars", apiMethods = "clear,delete,get,insert,patch,update")
+@ApiParams(apiName = "calendars", apiMethods = {@ApiMethod(methodName = "clear"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class CalendarCalendarsEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
+    @UriParam
+    @ApiParam(apiMethods = "clear,delete,get,patch,update", description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
     private String calendarId;
-    @UriParam(description = "The com.google.api.services.calendar.model.Calendar")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.calendar.model.Calendar")
     private com.google.api.services.calendar.model.Calendar content;
 
     public String getCalendarId() {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java
index 3c2b437..003df63 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Channels
  */
-@ApiParams(apiName = "channels", apiMethods = "stop")
+@ApiParams(apiName = "channels", apiMethods = {@ApiMethod(methodName = "stop")})
 @UriParams
 @Configurer
 public final class CalendarChannelsEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "The com.google.api.services.calendar.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "stop", description = "The com.google.api.services.calendar.model.Channel")
     private com.google.api.services.calendar.model.Channel contentChannel;
 
     public com.google.api.services.calendar.model.Channel getContentChannel() {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfiguration.java
index 181038e..a3f86ca 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Colors
  */
-@ApiParams(apiName = "colors", apiMethods = "get")
+@ApiParams(apiName = "colors", apiMethods = {@ApiMethod(methodName = "get")})
 @UriParams
 @Configurer
 public final class CalendarColorsEndpointConfiguration extends GoogleCalendarConfiguration {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java
index 7fa2cfa..abb1b24 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,21 +14,27 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Events
  */
-@ApiParams(apiName = "events", apiMethods = "calendarImport,delete,get,insert,instances,list,move,patch,quickAdd,update,watch")
+@ApiParams(apiName = "events", apiMethods = {@ApiMethod(methodName = "calendarImport"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "instances"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "move"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "quickAdd"), @ApiMethod(methodName = "update"), @ApiMethod(methodName = "watch")})
 @UriParams
 @Configurer
 public final class CalendarEventsEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
+    @UriParam
+    @ApiParam(apiMethods = "calendarImport,delete,get,insert,instances,list,move,patch,quickAdd,update,watch", description = "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.")
     private String calendarId;
-    @UriParam(description = "The com.google.api.services.calendar.model.Event")
+    @UriParam
+    @ApiParam(apiMethods = "calendarImport,insert,patch,update", description = "The com.google.api.services.calendar.model.Event")
     private com.google.api.services.calendar.model.Event content;
-    @UriParam(description = "The com.google.api.services.calendar.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.calendar.model.Channel")
     private com.google.api.services.calendar.model.Channel contentChannel;
-    @UriParam(description = "Calendar identifier of the target calendar where the event is to be moved to")
+    @UriParam
+    @ApiParam(apiMethods = "move", description = "Calendar identifier of the target calendar where the event is to be moved to")
     private String destination;
-    @UriParam(description = "Event identifier")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,instances,move,patch,update", description = "Event identifier")
     private String eventId;
-    @UriParam(description = "The text describing the event to be created")
+    @UriParam
+    @ApiParam(apiMethods = "quickAdd", description = "The text describing the event to be created")
     private String text;
 
     public String getCalendarId() {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfiguration.java
index 11206ff..0618345 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Freebusy
  */
-@ApiParams(apiName = "freebusy", apiMethods = "query")
+@ApiParams(apiName = "freebusy", apiMethods = {@ApiMethod(methodName = "query")})
 @UriParams
 @Configurer
 public final class CalendarFreebusyEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "The com.google.api.services.calendar.model.FreeBusyRequest")
+    @UriParam
+    @ApiParam(apiMethods = "query", description = "The com.google.api.services.calendar.model.FreeBusyRequest")
     private com.google.api.services.calendar.model.FreeBusyRequest content;
 
     public com.google.api.services.calendar.model.FreeBusyRequest getContent() {
diff --git a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java
index 3983bd9..a61a2d7 100644
--- a/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java
+++ b/components/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.calendar;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.calendar.Calendar$Settings
  */
-@ApiParams(apiName = "settings", apiMethods = "get,list,watch")
+@ApiParams(apiName = "settings", apiMethods = {@ApiMethod(methodName = "get"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "watch")})
 @UriParams
 @Configurer
 public final class CalendarSettingsEndpointConfiguration extends GoogleCalendarConfiguration {
-    @UriParam(description = "The com.google.api.services.calendar.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.calendar.model.Channel")
     private com.google.api.services.calendar.model.Channel contentChannel;
-    @UriParam(description = "The id of the user setting")
+    @UriParam
+    @ApiParam(apiMethods = "get", description = "The id of the user setting")
     private String setting;
 
     public com.google.api.services.calendar.model.Channel getContentChannel() {
diff --git a/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/google-calendar.json b/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/google-calendar.json
index e8912ae..314d28a 100644
--- a/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/google-calendar.json
+++ b/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/google-calendar.json
@@ -75,13 +75,12 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one [...]
   },
   "apiProperties": {
-    "acl": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": "c [...]
-    "calendars": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "grou [...]
-    "channels": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" } },
-    "colors": {  },
-    "events": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": [...]
-    "freebusy": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.FreeBusyRequest" } },
-    "list": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": " [...]
-    "settings": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" }, "setting": { "kind": "parameter", "displayName": "Setting", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String" [...]
+    "settings": { "apiName": "settings", "methods": { "get": { "apiMethodName": "get", "description": "The id of the user setting", "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "freebusy": { "apiName": "freebusy", "methods": { "query": { "apiMethodName": "query", "description": "The com.google.api.services.calendar.model.FreeBusyRequest", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "events": { "apiName": "events", "methods": { "quickAdd": { "apiMethodName": "quickAdd", "description": "The text describing the event to be created", "properties": { "text": { "kind": "parameter", "displayName": "Text", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "channels": { "apiName": "channels", "methods": { "stop": { "apiMethodName": "stop", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "acl": { "apiName": "acl", "methods": { "delete": { "apiMethodName": "delete", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayName": "Rule Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayName [...]
+    "calendars": { "apiName": "calendars", "methods": { "insert": { "apiMethodName": "insert", "description": "The com.google.api.services.calendar.model.Calendar", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Calendar", "deprecated": false, "secret": false, "description": "" } } }, "patch": { "apiMethodName": "patch", "description": "The [...]
+    "list": { "apiName": "list", "methods": { "watch": { "apiMethodName": "watch", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json b/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
index 3b4637a..d274174 100644
--- a/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
+++ b/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
@@ -75,13 +75,12 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "acl": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group":  [...]
-    "calendars": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "gr [...]
-    "channels": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" } },
-    "colors": {  },
-    "events": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group [...]
-    "freebusy": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.FreeBusyRequest" } },
-    "list": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword." }, "content": { "kind": "parameter", "displayName": "Content", "group": [...]
-    "settings": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel" }, "setting": { "kind": "parameter", "displayName": "Setting", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.Str [...]
+    "settings": { "apiName": "settings", "methods": { "get": { "apiMethodName": "get", "description": "The id of the user setting", "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "freebusy": { "apiName": "freebusy", "methods": { "query": { "apiMethodName": "query", "description": "The com.google.api.services.calendar.model.FreeBusyRequest", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "" } } } } },
+    "events": { "apiName": "events", "methods": { "quickAdd": { "apiMethodName": "quickAdd", "description": "The text describing the event to be created", "properties": { "text": { "kind": "parameter", "displayName": "Text", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "channels": { "apiName": "channels", "methods": { "stop": { "apiMethodName": "stop", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "acl": { "apiName": "acl", "methods": { "delete": { "apiMethodName": "delete", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayName": "Rule Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "ACL rule identifier", "properties": { "ruleId": { "kind": "parameter", "displayNa [...]
+    "calendars": { "apiName": "calendars", "methods": { "insert": { "apiMethodName": "insert", "description": "The com.google.api.services.calendar.model.Calendar", "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Calendar", "deprecated": false, "secret": false, "description": "" } } }, "patch": { "apiMethodName": "patch", "description": "T [...]
+    "list": { "apiName": "list", "methods": { "watch": { "apiMethodName": "watch", "description": "The com.google.api.services.calendar.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index 7c4c3bd..2f3cb63 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -137,100 +137,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the calendar application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (8 APIs):
-
-The Google Calendar 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 apiName/methodName path parameters:
-
-----
-google-calendar:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== acl
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.AclRule | AclRule
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *ruleId* | ACL rule identifier | String
-|===
-
-
-==== calendars
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Calendar | Calendar
-|===
-
-
-==== channels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== colors
-
-The colors method has no API parameters.
-
-
-==== events
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Event | Event
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *destination* | Calendar identifier of the target calendar where the event is to be moved to | String
-| *eventId* | Event identifier | String
-| *text* | The text describing the event to be created | String
-|===
-
-
-==== freebusy
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.calendar.model.FreeBusyRequest | FreeBusyRequest
-|===
-
-
-==== list
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.CalendarListEntry | CalendarListEntry
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== settings
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *setting* | The id of the user setting | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index 34bfd28..0ccfe56 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -140,100 +140,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (8 APIs):
-
-The Google Calendar Stream 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  path parameters:
-
-----
-google-calendar-stream:index
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== acl
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.AclRule | AclRule
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *ruleId* | ACL rule identifier | String
-|===
-
-
-==== calendars
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Calendar | Calendar
-|===
-
-
-==== channels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== colors
-
-The colors method has no API parameters.
-
-
-==== events
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.Event | Event
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *destination* | Calendar identifier of the target calendar where the event is to be moved to | String
-| *eventId* | Event identifier | String
-| *text* | The text describing the event to be created | String
-|===
-
-
-==== freebusy
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.calendar.model.FreeBusyRequest | FreeBusyRequest
-|===
-
-
-==== list
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *calendarId* | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword. | String
-| *content* | The com.google.api.services.calendar.model.CalendarListEntry | CalendarListEntry
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-|===
-
-
-==== settings
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.calendar.model.Channel | Channel
-| *setting* | The id of the user setting | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAboutEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAboutEndpointConfiguration.java
index 72f1e28..170d7f6 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAboutEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAboutEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$About
  */
-@ApiParams(apiName = "drive-about", apiMethods = "get")
+@ApiParams(apiName = "drive-about", apiMethods = {@ApiMethod(methodName = "get")})
 @UriParams
 @Configurer
 public final class DriveAboutEndpointConfiguration extends GoogleDriveConfiguration {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAppsEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAppsEndpointConfiguration.java
index 013922c..b3228d1 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAppsEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveAppsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Apps
  */
-@ApiParams(apiName = "drive-apps", apiMethods = "get,list")
+@ApiParams(apiName = "drive-apps", apiMethods = {@ApiMethod(methodName = "get"), @ApiMethod(methodName = "list")})
 @UriParams
 @Configurer
 public final class DriveAppsEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The ID of the app")
+    @UriParam
+    @ApiParam(apiMethods = "get", description = "The ID of the app")
     private String appId;
 
     public String getAppId() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java
index 4ef09d1..c006f80 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChangesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Changes
  */
-@ApiParams(apiName = "drive-changes", apiMethods = "get,getStartPageToken,list,watch")
+@ApiParams(apiName = "drive-changes", apiMethods = {@ApiMethod(methodName = "get"), @ApiMethod(methodName = "getStartPageToken"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "watch")})
 @UriParams
 @Configurer
 public final class DriveChangesEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The ID of the change")
+    @UriParam
+    @ApiParam(apiMethods = "get", description = "The ID of the change")
     private String changeId;
-    @UriParam(description = "The com.google.api.services.drive.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.drive.model.Channel")
     private com.google.api.services.drive.model.Channel contentChannel;
 
     public String getChangeId() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java
index c729be4..0dca0c8 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChannelsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Channels
  */
-@ApiParams(apiName = "drive-channels", apiMethods = "stop")
+@ApiParams(apiName = "drive-channels", apiMethods = {@ApiMethod(methodName = "stop")})
 @UriParams
 @Configurer
 public final class DriveChannelsEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The com.google.api.services.drive.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "stop", description = "The com.google.api.services.drive.model.Channel")
     private com.google.api.services.drive.model.Channel contentChannel;
 
     public com.google.api.services.drive.model.Channel getContentChannel() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChildrenEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChildrenEndpointConfiguration.java
index d773be1..23e2a9e 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChildrenEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveChildrenEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Children
  */
-@ApiParams(apiName = "drive-children", apiMethods = "delete,get,insert,list")
+@ApiParams(apiName = "drive-children", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list")})
 @UriParams
 @Configurer
 public final class DriveChildrenEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The ID of the child")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get", description = "The ID of the child")
     private String childId;
-    @UriParam(description = "The com.google.api.services.drive.model.ChildReference")
+    @UriParam
+    @ApiParam(apiMethods = "insert", description = "The com.google.api.services.drive.model.ChildReference")
     private com.google.api.services.drive.model.ChildReference content;
-    @UriParam(description = "The ID of the folder")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list", description = "The ID of the folder")
     private String folderId;
 
     public String getChildId() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveCommentsEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveCommentsEndpointConfiguration.java
index ca6528b..e2af9cf 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveCommentsEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveCommentsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Comments
  */
-@ApiParams(apiName = "drive-comments", apiMethods = "delete,get,insert,list,patch,update")
+@ApiParams(apiName = "drive-comments", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class DriveCommentsEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The ID of the comment")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "The ID of the comment")
     private String commentId;
-    @UriParam(description = "The com.google.api.services.drive.model.Comment")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.drive.model.Comment")
     private com.google.api.services.drive.model.Comment content;
-    @UriParam(description = "The ID of the file")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list,patch,update", description = "The ID of the file")
     private String fileId;
 
     public String getCommentId() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java
index 34f1ad3..1d8ce01 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveFilesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,19 +14,24 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Files
  */
-@ApiParams(apiName = "drive-files", apiMethods = "copy,delete,emptyTrash,export,generateIds,get,insert,list,patch,touch,trash,untrash,update,watch")
+@ApiParams(apiName = "drive-files", apiMethods = {@ApiMethod(methodName = "copy"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "emptyTrash"), @ApiMethod(methodName = "export"), @ApiMethod(methodName = "generateIds"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "touch"), @ApiMethod(methodName = "trash"), @ApiMethod(methodName = "untrash"), @ApiMethod(methodName  [...]
 @UriParams
 @Configurer
 public final class DriveFilesEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The com.google.api.services.drive.model.File")
+    @UriParam
+    @ApiParam(apiMethods = "copy,insert,patch,update", description = "The com.google.api.services.drive.model.File")
     private com.google.api.services.drive.model.File content;
-    @UriParam(description = "The com.google.api.services.drive.model.Channel")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.drive.model.Channel")
     private com.google.api.services.drive.model.Channel contentChannel;
-    @UriParam(description = "The ID of the file to copy")
+    @UriParam
+    @ApiParam(apiMethods = "copy,delete,export,get,patch,touch,trash,untrash,update,watch", description = "The ID of the file to copy")
     private String fileId;
-    @UriParam(description = "The media HTTP content or null if none")
+    @UriParam
+    @ApiParam(apiMethods = "insert,update", description = "The media HTTP content or null if none")
     private com.google.api.client.http.AbstractInputStreamContent mediaContent;
-    @UriParam(description = "The MIME type of the format requested for this export")
+    @UriParam
+    @ApiParam(apiMethods = "export", description = "The MIME type of the format requested for this export")
     private String mimeType;
 
     public com.google.api.services.drive.model.File getContent() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveParentsEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveParentsEndpointConfiguration.java
index a9fe3d6..e397ead 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveParentsEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveParentsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Parents
  */
-@ApiParams(apiName = "drive-parents", apiMethods = "delete,get,insert,list")
+@ApiParams(apiName = "drive-parents", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list")})
 @UriParams
 @Configurer
 public final class DriveParentsEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The com.google.api.services.drive.model.ParentReference")
+    @UriParam
+    @ApiParam(apiMethods = "insert", description = "The com.google.api.services.drive.model.ParentReference")
     private com.google.api.services.drive.model.ParentReference content;
-    @UriParam(description = "The ID of the file")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list", description = "The ID of the file")
     private String fileId;
-    @UriParam(description = "The ID of the parent")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get", description = "The ID of the parent")
     private String parentId;
 
     public com.google.api.services.drive.model.ParentReference getContent() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePermissionsEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePermissionsEndpointConfiguration.java
index abf9ee6..f417c57 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePermissionsEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePermissionsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Permissions
  */
-@ApiParams(apiName = "drive-permissions", apiMethods = "delete,get,getIdForEmail,insert,list,patch,update")
+@ApiParams(apiName = "drive-permissions", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "getIdForEmail"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class DrivePermissionsEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The com.google.api.services.drive.model.Permission")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.drive.model.Permission")
     private com.google.api.services.drive.model.Permission content;
-    @UriParam(description = "The email address for which to return a permission ID")
+    @UriParam
+    @ApiParam(apiMethods = "getIdForEmail", description = "The email address for which to return a permission ID")
     private String email;
-    @UriParam(description = "The ID for the file or Team Drive")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list,patch,update", description = "The ID for the file or Team Drive")
     private String fileId;
-    @UriParam(description = "The ID for the permission")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "The ID for the permission")
     private String permissionId;
 
     public com.google.api.services.drive.model.Permission getContent() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePropertiesEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePropertiesEndpointConfiguration.java
index 98d426c..f835ab9 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePropertiesEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DrivePropertiesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Properties
  */
-@ApiParams(apiName = "drive-properties", apiMethods = "delete,get,insert,list,patch,update")
+@ApiParams(apiName = "drive-properties", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class DrivePropertiesEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The com.google.api.services.drive.model.Property")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.drive.model.Property")
     private com.google.api.services.drive.model.Property content;
-    @UriParam(description = "The ID of the file")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list,patch,update", description = "The ID of the file")
     private String fileId;
-    @UriParam(description = "The key of the property")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "The key of the property")
     private String propertyKey;
 
     public com.google.api.services.drive.model.Property getContent() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRealtimeEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRealtimeEndpointConfiguration.java
index ffd6f91..ece68f2 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRealtimeEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRealtimeEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Realtime
  */
-@ApiParams(apiName = "drive-realtime", apiMethods = "get,update")
+@ApiParams(apiName = "drive-realtime", apiMethods = {@ApiMethod(methodName = "get"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class DriveRealtimeEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The ID of the file that the Realtime API data model is associated with")
+    @UriParam
+    @ApiParam(apiMethods = "get,update", description = "The ID of the file that the Realtime API data model is associated with")
     private String fileId;
-    @UriParam(description = "The media HTTP content or null if none")
+    @UriParam
+    @ApiParam(apiMethods = "update", description = "The media HTTP content or null if none")
     private com.google.api.client.http.AbstractInputStreamContent mediaContent;
 
     public String getFileId() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRepliesEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRepliesEndpointConfiguration.java
index 765e457..d6e3e77 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRepliesEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRepliesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Replies
  */
-@ApiParams(apiName = "drive-replies", apiMethods = "delete,get,insert,list,patch,update")
+@ApiParams(apiName = "drive-replies", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class DriveRepliesEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The ID of the comment")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list,patch,update", description = "The ID of the comment")
     private String commentId;
-    @UriParam(description = "The com.google.api.services.drive.model.CommentReply")
+    @UriParam
+    @ApiParam(apiMethods = "insert,patch,update", description = "The com.google.api.services.drive.model.CommentReply")
     private com.google.api.services.drive.model.CommentReply content;
-    @UriParam(description = "The ID of the file")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,insert,list,patch,update", description = "The ID of the file")
     private String fileId;
-    @UriParam(description = "The ID of the reply")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "The ID of the reply")
     private String replyId;
 
     public String getCommentId() {
diff --git a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRevisionsEndpointConfiguration.java b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRevisionsEndpointConfiguration.java
index a98d430..764a40a 100644
--- a/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRevisionsEndpointConfiguration.java
+++ b/components/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/DriveRevisionsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.drive;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.drive.Drive$Revisions
  */
-@ApiParams(apiName = "drive-revisions", apiMethods = "delete,get,list,patch,update")
+@ApiParams(apiName = "drive-revisions", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class DriveRevisionsEndpointConfiguration extends GoogleDriveConfiguration {
-    @UriParam(description = "The com.google.api.services.drive.model.Revision")
+    @UriParam
+    @ApiParam(apiMethods = "patch,update", description = "The com.google.api.services.drive.model.Revision")
     private com.google.api.services.drive.model.Revision content;
-    @UriParam(description = "The ID of the file")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,list,patch,update", description = "The ID of the file")
     private String fileId;
-    @UriParam(description = "The ID of the revision")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "The ID of the revision")
     private String revisionId;
 
     public com.google.api.services.drive.model.Revision getContent() {
diff --git a/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json b/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json
index faab461..be3ca73 100644
--- a/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json
+++ b/components/camel-google-drive/src/generated/resources/org/apache/camel/component/google/drive/google-drive.json
@@ -70,18 +70,17 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.drive.GoogleDriveConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expir [...]
   },
   "apiProperties": {
-    "drive-about": {  },
-    "drive-apps": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the app" } },
-    "drive-changes": { "changeId": { "kind": "parameter", "displayName": "Change Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the change" }, "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "s [...]
-    "drive-channels": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Channel" } },
-    "drive-children": { "childId": { "kind": "parameter", "displayName": "Child Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the child" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.ChildReference", "deprecated": false, "secret": fa [...]
-    "drive-comments": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Comment", "deprecated": false, "secret": fal [...]
-    "drive-files": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.File", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.File" }, "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.dr [...]
-    "drive-parents": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.ParentReference", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.ParentReference" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", [...]
-    "drive-permissions": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Permission", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Permission" }, "email": { "kind": "parameter", "displayName": "Email", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depreca [...]
-    "drive-properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Property", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Property" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecate [...]
-    "drive-realtime": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the file that the Realtime API data model is associated with" }, "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.client.http [...]
-    "drive-replies": { "commentId": { "kind": "parameter", "displayName": "Comment Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the comment" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.CommentReply", "deprecated": false, "secret": [...]
-    "drive-revisions": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Revision", "deprecated": false, "secret": false, "description": "The com.google.api.services.drive.model.Revision" }, "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated [...]
+    "drive-channels": { "apiName": "drive-channels", "methods": { "stop": { "apiMethodName": "stop", "description": "The com.google.api.services.drive.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-revisions": { "apiName": "drive-revisions", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the revision", "properties": { "revisionId": { "kind": "parameter", "displayName": "Revision Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the revision", "properties": { "revisi [...]
+    "drive-replies": { "apiName": "drive-replies", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the reply", "properties": { "replyId": { "kind": "parameter", "displayName": "Reply Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the reply", "properties": { "replyId": { "kind": "p [...]
+    "drive-permissions": { "apiName": "drive-permissions", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID for the permission", "properties": { "permissionId": { "kind": "parameter", "displayName": "Permission Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID for the permission", "properti [...]
+    "drive-parents": { "apiName": "drive-parents", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the parent", "properties": { "parentId": { "kind": "parameter", "displayName": "Parent Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the parent", "properties": { "parentId": { "kind [...]
+    "drive-apps": { "apiName": "drive-apps", "methods": { "get": { "apiMethodName": "get", "description": "The ID of the app", "properties": { "appId": { "kind": "parameter", "displayName": "App Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-changes": { "apiName": "drive-changes", "methods": { "watch": { "apiMethodName": "watch", "description": "The com.google.api.services.drive.model.Channel", "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.drive.model.Channel", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-comments": { "apiName": "drive-comments", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the file", "properties": { "fileId": { "kind": "parameter", "displayName": "File Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the file", "properties": { "fileId": { "kind": "para [...]
+    "drive-properties": { "apiName": "drive-properties", "methods": { "delete": { "apiMethodName": "delete", "description": "The key of the property", "properties": { "propertyKey": { "kind": "parameter", "displayName": "Property Key", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The key of the property", "properties": { " [...]
+    "drive-realtime": { "apiName": "drive-realtime", "methods": { "update": { "apiMethodName": "update", "description": "The media HTTP content or null if none", "properties": { "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.client.http.AbstractInputStreamContent", "deprecated": false, "secret": false, "description": "" } } } } },
+    "drive-children": { "apiName": "drive-children", "methods": { "delete": { "apiMethodName": "delete", "description": "The ID of the folder", "properties": { "folderId": { "kind": "parameter", "displayName": "Folder Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The ID of the folder", "properties": { "folderId": { "ki [...]
+    "drive-files": { "apiName": "drive-files", "methods": { "export": { "apiMethodName": "export", "description": "The MIME type of the format requested for this export", "properties": { "mimeType": { "kind": "parameter", "displayName": "Mime Type", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } }
   }
 }
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index 80439fe..8c42cad 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -159,155 +159,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the drive application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (13 APIs):
-
-The Google Drive 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 apiName/methodName path parameters:
-
-----
-google-drive:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== drive-about
-
-The drive-about method has no API parameters.
-
-
-==== drive-apps
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *appId* | The ID of the app | String
-|===
-
-
-==== drive-changes
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *changeId* | The ID of the change | String
-| *contentChannel* | The com.google.api.services.drive.model.Channel | Channel
-|===
-
-
-==== drive-channels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *contentChannel* | The com.google.api.services.drive.model.Channel | Channel
-|===
-
-
-==== drive-children
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *childId* | The ID of the child | String
-| *content* | The com.google.api.services.drive.model.ChildReference | ChildReference
-| *folderId* | The ID of the folder | String
-|===
-
-
-==== drive-comments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *commentId* | The ID of the comment | String
-| *content* | The com.google.api.services.drive.model.Comment | Comment
-| *fileId* | The ID of the file | String
-|===
-
-
-==== drive-files
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.File | File
-| *contentChannel* | The com.google.api.services.drive.model.Channel | Channel
-| *fileId* | The ID of the file to copy | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *mimeType* | The MIME type of the format requested for this export | String
-|===
-
-
-==== drive-parents
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.ParentReference | ParentReference
-| *fileId* | The ID of the file | String
-| *parentId* | The ID of the parent | String
-|===
-
-
-==== drive-permissions
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.Permission | Permission
-| *email* | The email address for which to return a permission ID | String
-| *fileId* | The ID for the file or Team Drive | String
-| *permissionId* | The ID for the permission | String
-|===
-
-
-==== drive-properties
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.Property | Property
-| *fileId* | The ID of the file | String
-| *propertyKey* | The key of the property | String
-|===
-
-
-==== drive-realtime
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *fileId* | The ID of the file that the Realtime API data model is associated with | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-|===
-
-
-==== drive-replies
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *commentId* | The ID of the comment | String
-| *content* | The com.google.api.services.drive.model.CommentReply | CommentReply
-| *fileId* | The ID of the file | String
-| *replyId* | The ID of the reply | String
-|===
-
-
-==== drive-revisions
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.drive.model.Revision | Revision
-| *fileId* | The ID of the file | String
-| *revisionId* | The ID of the revision | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersDraftsEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersDraftsEndpointConfiguration.java
index c417360..142c6a0 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersDraftsEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersDraftsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users$Drafts
  */
-@ApiParams(apiName = "drafts", apiMethods = "create,delete,get,list,send,update")
+@ApiParams(apiName = "drafts", apiMethods = {@ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "send"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class GmailUsersDraftsEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The com.google.api.services.gmail.model.Draft media metadata or null if none")
+    @UriParam
+    @ApiParam(apiMethods = "create,send,update", description = "The com.google.api.services.gmail.model.Draft media metadata or null if none")
     private com.google.api.services.gmail.model.Draft content;
-    @UriParam(description = "The ID of the draft to delete")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,update", description = "The ID of the draft to delete")
     private String id;
-    @UriParam(description = "The media HTTP content or null if none")
+    @UriParam
+    @ApiParam(apiMethods = "create,send,update", description = "The media HTTP content or null if none")
     private com.google.api.client.http.AbstractInputStreamContent mediaContent;
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "create,delete,get,list,send,update", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public com.google.api.services.gmail.model.Draft getContent() {
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersEndpointConfiguration.java
index 6d79495..91170d4 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,13 +14,15 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users
  */
-@ApiParams(apiName = "users", apiMethods = "getProfile,stop,watch")
+@ApiParams(apiName = "users", apiMethods = {@ApiMethod(methodName = "getProfile"), @ApiMethod(methodName = "stop"), @ApiMethod(methodName = "watch")})
 @UriParams
 @Configurer
 public final class GmailUsersEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The com.google.api.services.gmail.model.WatchRequest")
+    @UriParam
+    @ApiParam(apiMethods = "watch", description = "The com.google.api.services.gmail.model.WatchRequest")
     private com.google.api.services.gmail.model.WatchRequest content;
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "getProfile,stop,watch", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public com.google.api.services.gmail.model.WatchRequest getContent() {
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersHistoryEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersHistoryEndpointConfiguration.java
index 9b4e4ce..840d84c 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersHistoryEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersHistoryEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,11 +14,12 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users$History
  */
-@ApiParams(apiName = "history", apiMethods = "list")
+@ApiParams(apiName = "history", apiMethods = {@ApiMethod(methodName = "list")})
 @UriParams
 @Configurer
 public final class GmailUsersHistoryEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "list", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public String getUserId() {
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersLabelsEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersLabelsEndpointConfiguration.java
index 7763451..440db9e 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersLabelsEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersLabelsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users$Labels
  */
-@ApiParams(apiName = "labels", apiMethods = "create,delete,get,list,patch,update")
+@ApiParams(apiName = "labels", apiMethods = {@ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class GmailUsersLabelsEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The com.google.api.services.gmail.model.Label")
+    @UriParam
+    @ApiParam(apiMethods = "create,patch,update", description = "The com.google.api.services.gmail.model.Label")
     private com.google.api.services.gmail.model.Label content;
-    @UriParam(description = "The ID of the label to delete")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,patch,update", description = "The ID of the label to delete")
     private String id;
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "create,delete,get,list,patch,update", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public com.google.api.services.gmail.model.Label getContent() {
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesAttachmentsEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesAttachmentsEndpointConfiguration.java
index 485c2ee..565b589 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesAttachmentsEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesAttachmentsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users$Messages$Attachments
  */
-@ApiParams(apiName = "attachments", apiMethods = "get")
+@ApiParams(apiName = "attachments", apiMethods = {@ApiMethod(methodName = "get")})
 @UriParams
 @Configurer
 public final class GmailUsersMessagesAttachmentsEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The ID of the attachment")
+    @UriParam
+    @ApiParam(apiMethods = "get", description = "The ID of the attachment")
     private String id;
-    @UriParam(description = "The ID of the message containing the attachment")
+    @UriParam
+    @ApiParam(apiMethods = "get", description = "The ID of the message containing the attachment")
     private String messageId;
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "get", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public String getId() {
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java
index a9f8062..38d5fbd 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersMessagesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,23 +14,30 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users$Messages
  */
-@ApiParams(apiName = "messages", apiMethods = "attachments,batchDelete,batchModify,delete,get,gmailImport,insert,list,modify,send,trash,untrash")
+@ApiParams(apiName = "messages", apiMethods = {@ApiMethod(methodName = "attachments"), @ApiMethod(methodName = "batchDelete"), @ApiMethod(methodName = "batchModify"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "gmailImport"), @ApiMethod(methodName = "insert"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "modify"), @ApiMethod(methodName = "send"), @ApiMethod(methodName = "trash"), @ApiMethod(methodName = "untrash")})
 @UriParams
 @Configurer
 public final class GmailUsersMessagesEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchDelete", description = "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest")
     private com.google.api.services.gmail.model.BatchDeleteMessagesRequest batchDeleteMessagesRequest;
-    @UriParam(description = "The com.google.api.services.gmail.model.BatchModifyMessagesRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchModify", description = "The com.google.api.services.gmail.model.BatchModifyMessagesRequest")
     private com.google.api.services.gmail.model.BatchModifyMessagesRequest batchModifyMessagesRequest;
-    @UriParam(description = "The com.google.api.services.gmail.model.Message media metadata or null if none")
+    @UriParam
+    @ApiParam(apiMethods = "gmailImport,insert,send", description = "The com.google.api.services.gmail.model.Message media metadata or null if none")
     private com.google.api.services.gmail.model.Message content;
-    @UriParam(description = "The ID of the message to delete")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,modify,trash,untrash", description = "The ID of the message to delete")
     private String id;
-    @UriParam(description = "The media HTTP content or null if none")
+    @UriParam
+    @ApiParam(apiMethods = "gmailImport,insert,send", description = "The media HTTP content or null if none")
     private com.google.api.client.http.AbstractInputStreamContent mediaContent;
-    @UriParam(description = "The com.google.api.services.gmail.model.ModifyMessageRequest")
+    @UriParam
+    @ApiParam(apiMethods = "modify", description = "The com.google.api.services.gmail.model.ModifyMessageRequest")
     private com.google.api.services.gmail.model.ModifyMessageRequest modifyMessageRequest;
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "batchDelete,batchModify,delete,get,gmailImport,insert,list,modify,send,trash,untrash", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public com.google.api.services.gmail.model.BatchDeleteMessagesRequest getBatchDeleteMessagesRequest() {
diff --git a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersThreadsEndpointConfiguration.java b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersThreadsEndpointConfiguration.java
index acbdd38..fb8d1a1 100644
--- a/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersThreadsEndpointConfiguration.java
+++ b/components/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/GmailUsersThreadsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.mail;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,15 +14,18 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.gmail.Gmail$Users$Threads
  */
-@ApiParams(apiName = "threads", apiMethods = "delete,get,list,modify,trash,untrash")
+@ApiParams(apiName = "threads", apiMethods = {@ApiMethod(methodName = "delete"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "list"), @ApiMethod(methodName = "modify"), @ApiMethod(methodName = "trash"), @ApiMethod(methodName = "untrash")})
 @UriParams
 @Configurer
 public final class GmailUsersThreadsEndpointConfiguration extends GoogleMailConfiguration {
-    @UriParam(description = "The com.google.api.services.gmail.model.ModifyThreadRequest")
+    @UriParam
+    @ApiParam(apiMethods = "modify", description = "The com.google.api.services.gmail.model.ModifyThreadRequest")
     private com.google.api.services.gmail.model.ModifyThreadRequest content;
-    @UriParam(description = "ID of the Thread to delete")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,modify,trash,untrash", description = "ID of the Thread to delete")
     private String id;
-    @UriParam(description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
+    @UriParam
+    @ApiParam(apiMethods = "delete,get,list,modify,trash,untrash", description = "The user's email address. The special value me can be used to indicate the authenticated user. default: me")
     private String userId;
 
     public com.google.api.services.gmail.model.ModifyThreadRequest getContent() {
diff --git a/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/google-mail.json b/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/google-mail.json
index 38fafd9..e95c22e 100644
--- a/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/google-mail.json
+++ b/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/google-mail.json
@@ -67,12 +67,12 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.mail.GoogleMailConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires [...]
   },
   "apiProperties": {
-    "attachments": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the attachment" }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the mes [...]
-    "drafts": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Draft", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Draft media metadata or null if none" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "dep [...]
-    "history": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me" } },
-    "labels": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Label", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Label" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": fals [...]
-    "messages": { "batchDeleteMessagesRequest": { "kind": "parameter", "displayName": "Batch Delete Messages Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest" }, "batchModifyMessagesRequest": { "kind": "parameter", "displayName": "Batch Modify Messages Request",  [...]
-    "threads": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.ModifyThreadRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.ModifyThreadRequest" }, "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "depre [...]
-    "users": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.WatchRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.WatchRequest" }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": [...]
+    "users": { "apiName": "users", "methods": { "getProfile": { "apiMethodName": "getProfile", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "stop": { "apiMethodName": "stop" [...]
+    "threads": { "apiName": "threads", "methods": { "delete": { "apiMethodName": "delete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "des [...]
+    "drafts": { "apiName": "drafts", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete",  [...]
+    "labels": { "apiName": "labels", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete",  [...]
+    "history": { "apiName": "history", "methods": { "list": { "apiMethodName": "list", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "attachments": { "apiName": "attachments", "methods": { "get": { "apiMethodName": "get", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "messages": { "apiName": "messages", "methods": { "batchDelete": { "apiMethodName": "batchDelete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "batchModify": { "apiMeth [...]
   }
 }
diff --git a/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json b/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
index ef3fe7b..b91f8f8 100644
--- a/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
+++ b/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
@@ -71,12 +71,12 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "attachments": { "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the attachment" }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the [...]
-    "drafts": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Draft", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Draft media metadata or null if none" }, "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String",  [...]
-    "history": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me" } },
-    "labels": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Label", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Label" }, "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret":  [...]
-    "messages": { "batchDeleteMessagesRequest": { "kind": "parameter", "displayName": "Batch Delete Messages Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest" }, "batchModifyMessagesRequest": { "kind": "parameter", "displayName": "Batch Modify Messages Request" [...]
-    "threads": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.ModifyThreadRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.ModifyThreadRequest" }, "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "d [...]
-    "users": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.WatchRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.WatchRequest" }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecat [...]
+    "users": { "apiName": "users", "methods": { "getProfile": { "apiMethodName": "getProfile", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "stop": { "apiMethodName": "sto [...]
+    "threads": { "apiName": "threads", "methods": { "delete": { "apiMethodName": "delete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "d [...]
+    "drafts": { "apiName": "drafts", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete" [...]
+    "labels": { "apiName": "labels", "methods": { "create": { "apiMethodName": "create", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "delete": { "apiMethodName": "delete" [...]
+    "history": { "apiName": "history", "methods": { "list": { "apiMethodName": "list", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "attachments": { "apiName": "attachments", "methods": { "get": { "apiMethodName": "get", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } } } },
+    "messages": { "apiName": "messages", "methods": { "batchDelete": { "apiMethodName": "batchDelete", "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "batchModify": { "apiMe [...]
   }
 }
diff --git a/components/camel-google-mail/src/main/docs/google-mail-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
index c5d327d..940af27 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
@@ -147,99 +147,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the mail application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (7 APIs):
-
-The Google Mail 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 apiName/methodName path parameters:
-
-----
-google-mail:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== attachments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *id* | The ID of the attachment | String
-| *messageId* | The ID of the message containing the attachment | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== drafts
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Draft media metadata or null if none | Draft
-| *id* | The ID of the draft to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== history
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== labels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Label | Label
-| *id* | The ID of the label to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== messages
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchDeleteMessagesRequest* | The com.google.api.services.gmail.model.BatchDeleteMessagesRequest | BatchDeleteMessagesRequest
-| *batchModifyMessagesRequest* | The com.google.api.services.gmail.model.BatchModifyMessagesRequest | BatchModifyMessagesRequest
-| *content* | The com.google.api.services.gmail.model.Message media metadata or null if none | Message
-| *id* | The ID of the message to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *modifyMessageRequest* | The com.google.api.services.gmail.model.ModifyMessageRequest | ModifyMessageRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== threads
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.ModifyThreadRequest | ModifyThreadRequest
-| *id* | ID of the Thread to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== users
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.WatchRequest | WatchRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
index 7d1483e..ab98213 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
@@ -134,99 +134,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (7 APIs):
-
-The Google Mail Stream 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  path parameters:
-
-----
-google-mail-stream:index
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== attachments
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *id* | The ID of the attachment | String
-| *messageId* | The ID of the message containing the attachment | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== drafts
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Draft media metadata or null if none | Draft
-| *id* | The ID of the draft to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== history
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== labels
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.Label | Label
-| *id* | The ID of the label to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== messages
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchDeleteMessagesRequest* | The com.google.api.services.gmail.model.BatchDeleteMessagesRequest | BatchDeleteMessagesRequest
-| *batchModifyMessagesRequest* | The com.google.api.services.gmail.model.BatchModifyMessagesRequest | BatchModifyMessagesRequest
-| *content* | The com.google.api.services.gmail.model.Message media metadata or null if none | Message
-| *id* | The ID of the message to delete | String
-| *mediaContent* | The media HTTP content or null if none | AbstractInputStreamContent
-| *modifyMessageRequest* | The com.google.api.services.gmail.model.ModifyMessageRequest | ModifyMessageRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== threads
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.ModifyThreadRequest | ModifyThreadRequest
-| *id* | ID of the Thread to delete | String
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
-
-
-==== users
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *content* | The com.google.api.services.gmail.model.WatchRequest | WatchRequest
-| *userId* | The user's email address. The special value me can be used to indicate the authenticated user. default: me | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java
index ec74277..e317ab07 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.sheets;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,17 +14,21 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.sheets.v4.Sheets$Spreadsheets
  */
-@ApiParams(apiName = "spreadsheets", apiMethods = "batchUpdate,create,developerMetadata,get,getByDataFilter,sheets,values")
+@ApiParams(apiName = "spreadsheets", apiMethods = {@ApiMethod(methodName = "batchUpdate"), @ApiMethod(methodName = "create"), @ApiMethod(methodName = "developerMetadata"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "getByDataFilter"), @ApiMethod(methodName = "sheets"), @ApiMethod(methodName = "values")})
 @UriParams
 @Configurer
 public final class SheetsSpreadsheetsEndpointConfiguration extends GoogleSheetsConfiguration {
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchUpdate", description = "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest")
     private com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.Spreadsheet")
+    @UriParam
+    @ApiParam(apiMethods = "create", description = "The com.google.api.services.sheets.v4.model.Spreadsheet")
     private com.google.api.services.sheets.v4.model.Spreadsheet content;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest")
+    @UriParam
+    @ApiParam(apiMethods = "getByDataFilter", description = "The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest")
     private com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest getSpreadsheetByDataFilterRequest;
-    @UriParam(description = "The spreadsheet to apply the updates to")
+    @UriParam
+    @ApiParam(apiMethods = "batchUpdate,get,getByDataFilter", description = "The spreadsheet to apply the updates to")
     private String spreadsheetId;
 
     public com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest getBatchUpdateSpreadsheetRequest() {
diff --git a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java
index 29a2e6b..e2556d7 100644
--- a/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java
+++ b/components/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/SheetsSpreadsheetsValuesEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.google.sheets;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,27 +14,36 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values
  */
-@ApiParams(apiName = "data", apiMethods = "append,batchClear,batchClearByDataFilter,batchGet,batchGetByDataFilter,batchUpdate,batchUpdateByDataFilter,clear,get,update")
+@ApiParams(apiName = "data", apiMethods = {@ApiMethod(methodName = "append"), @ApiMethod(methodName = "batchClear"), @ApiMethod(methodName = "batchClearByDataFilter"), @ApiMethod(methodName = "batchGet"), @ApiMethod(methodName = "batchGetByDataFilter"), @ApiMethod(methodName = "batchUpdate"), @ApiMethod(methodName = "batchUpdateByDataFilter"), @ApiMethod(methodName = "clear"), @ApiMethod(methodName = "get"), @ApiMethod(methodName = "update")})
 @UriParams
 @Configurer
 public final class SheetsSpreadsheetsValuesEndpointConfiguration extends GoogleSheetsConfiguration {
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.BatchClearValuesRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchClear", description = "The com.google.api.services.sheets.v4.model.BatchClearValuesRequest")
     private com.google.api.services.sheets.v4.model.BatchClearValuesRequest batchClearValuesRequest;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchGetByDataFilter", description = "The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest")
     private com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest batchGetValuesByDataFilterRequest;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchUpdateByDataFilter", description = "The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest")
     private com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest batchUpdateValuesByDataFilterRequest;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchUpdate", description = "The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest")
     private com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest batchUpdateValuesRequest;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.ClearValuesRequest")
+    @UriParam
+    @ApiParam(apiMethods = "clear", description = "The com.google.api.services.sheets.v4.model.ClearValuesRequest")
     private com.google.api.services.sheets.v4.model.ClearValuesRequest clearValuesRequest;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest")
+    @UriParam
+    @ApiParam(apiMethods = "batchClearByDataFilter", description = "The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest")
     private com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest content;
-    @UriParam(description = "The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table.")
+    @UriParam
+    @ApiParam(apiMethods = "append,clear,get,update", description = "The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table.")
     private String range;
-    @UriParam(description = "The ID of the spreadsheet to update")
+    @UriParam
+    @ApiParam(apiMethods = "append,batchClear,batchClearByDataFilter,batchGet,batchGetByDataFilter,batchUpdate,batchUpdateByDataFilter,clear,get,update", description = "The ID of the spreadsheet to update")
     private String spreadsheetId;
-    @UriParam(description = "The com.google.api.services.sheets.v4.model.ValueRange")
+    @UriParam
+    @ApiParam(apiMethods = "append,update", description = "The com.google.api.services.sheets.v4.model.ValueRange")
     private com.google.api.services.sheets.v4.model.ValueRange values;
 
     public com.google.api.services.sheets.v4.model.BatchClearValuesRequest getBatchClearValuesRequest() {
diff --git a/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/google-sheets.json b/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/google-sheets.json
index 5b6c625..ec0acba 100644
--- a/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/google-sheets.json
+++ b/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/google-sheets.json
@@ -68,7 +68,7 @@
     "refreshToken": { "kind": "parameter", "displayName": "Refresh Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.google.sheets.GoogleSheetsConfiguration", "configurationField": "configuration", "description": "OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expir [...]
   },
   "apiProperties": {
-    "data": { "batchClearValuesRequest": { "kind": "parameter", "displayName": "Batch Clear Values Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchClearValuesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchClearValuesRequest" }, "batchGetValuesByDataFilterRequest": { "kind": "parameter", "displayName": "Batch Get Values By Data Filter R [...]
-    "spreadsheets": { "batchUpdateSpreadsheetRequest": { "kind": "parameter", "displayName": "Batch Update Spreadsheet Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest" }, "content": { "kind": "parameter", "displayName": "Content", "group": "common" [...]
+    "spreadsheets": { "apiName": "spreadsheets", "methods": { "batchUpdate": { "apiMethodName": "batchUpdate", "description": "The spreadsheet to apply the updates to", "properties": { "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The spreadsheet to ap [...]
+    "data": { "apiName": "data", "methods": { "append": { "apiMethodName": "append", "description": "The com.google.api.services.sheets.v4.model.ValueRange", "properties": { "values": { "kind": "parameter", "displayName": "Values", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.ValueRange", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The com [...]
   }
 }
diff --git a/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json b/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
index 262a887..3d7204d 100644
--- a/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
+++ b/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
@@ -80,7 +80,7 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "data": { "batchClearValuesRequest": { "kind": "parameter", "displayName": "Batch Clear Values Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchClearValuesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchClearValuesRequest" }, "batchGetValuesByDataFilterRequest": { "kind": "parameter", "displayName": "Batch Get Values By Data Filter [...]
-    "spreadsheets": { "batchUpdateSpreadsheetRequest": { "kind": "parameter", "displayName": "Batch Update Spreadsheet Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest" }, "content": { "kind": "parameter", "displayName": "Content", "group": "consu [...]
+    "spreadsheets": { "apiName": "spreadsheets", "methods": { "batchUpdate": { "apiMethodName": "batchUpdate", "description": "The spreadsheet to apply the updates to", "properties": { "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "" } } }, "get": { "apiMethodName": "get", "description": "The spreadsheet to  [...]
+    "data": { "apiName": "data", "methods": { "append": { "apiMethodName": "append", "description": "The com.google.api.services.sheets.v4.model.ValueRange", "properties": { "values": { "kind": "parameter", "displayName": "Values", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.ValueRange", "deprecated": false, "secret": false, "description": "" } } }, "update": { "apiMethodName": "update", "description": "The c [...]
   }
 }
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
index 1ffd036..206744e 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
@@ -143,49 +143,6 @@ with the following path and query parameters:
 | *clientSecret* (security) | Client secret of the sheets application |  | String
 | *refreshToken* (security) | OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
 |===
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets 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 apiName/methodName path parameters:
-
-----
-google-sheets:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index 628fcb7..3433a0d 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -144,49 +144,6 @@ with the following path and query parameters:
 | *timeUnit* (scheduler) | Time unit for initialDelay and delay options. There are 7 enums and the value can be one of: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS | MILLISECONDS | TimeUnit
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 |===
-
-
-
-
-=== Query API Parameters (2 APIs):
-
-The Google Sheets Stream 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 apiName path parameters:
-
-----
-google-sheets-stream:apiName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== data
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchClearValuesRequest* | The com.google.api.services.sheets.v4.model.BatchClearValuesRequest | BatchClearValuesRequest
-| *batchGetValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchGetValuesByDataFilterRequest | BatchGetValuesByDataFilterRequest
-| *batchUpdateValuesByDataFilter Request* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesByDataFilterRequest | BatchUpdateValuesByDataFilterRequest
-| *batchUpdateValuesRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateValuesRequest | BatchUpdateValuesRequest
-| *clearValuesRequest* | The com.google.api.services.sheets.v4.model.ClearValuesRequest | ClearValuesRequest
-| *content* | The com.google.api.services.sheets.v4.model.BatchClearValuesByDataFilterRequest | BatchClearValuesByDataFilterRequest
-| *range* | The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table. | String
-| *spreadsheetId* | The ID of the spreadsheet to update | String
-| *values* | The com.google.api.services.sheets.v4.model.ValueRange | ValueRange
-|===
-
-
-==== spreadsheets
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *batchUpdateSpreadsheetRequest* | The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest | BatchUpdateSpreadsheetRequest
-| *content* | The com.google.api.services.sheets.v4.model.Spreadsheet | Spreadsheet
-| *getSpreadsheetByDataFilter Request* | The com.google.api.services.sheets.v4.model.GetSpreadsheetByDataFilterRequest | GetSpreadsheetByDataFilterRequest
-| *spreadsheetId* | The spreadsheet to apply the updates to | String
-|===
 // endpoint options: END
 
 
diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java
index d5e80c8..828d980 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java
+++ b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/Olingo2AppEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.olingo2;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,23 +14,30 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.olingo2.api.Olingo2App
  */
-@ApiParams(apiName = "DEFAULT", apiMethods = "batch,create,delete,merge,patch,read,update,uread")
+@ApiParams(apiName = "DEFAULT", apiMethods = {@ApiMethod(methodName = "batch"), @ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "merge"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "read"), @ApiMethod(methodName = "update"), @ApiMethod(methodName = "uread")})
 @UriParams
 @Configurer
 public final class Olingo2AppEndpointConfiguration extends Olingo2Configuration {
     @UriParam
+    @ApiParam(apiMethods = "batch,create,merge,patch,update")
     private Object data;
     @UriParam
+    @ApiParam(apiMethods = "batch,create,merge,patch,read,update,uread")
     private org.apache.olingo.odata2.api.edm.Edm edm;
     @UriParam
+    @ApiParam(apiMethods = "batch,create,delete,merge,patch,read,update,uread")
     private java.util.Map<String,String> endpointHttpHeaders;
     @UriParam
+    @ApiParam(apiMethods = "")
     private String keyPredicate;
     @UriParam
+    @ApiParam(apiMethods = "read,uread")
     private java.util.Map<String,String> queryParams;
     @UriParam
+    @ApiParam(apiMethods = "create,delete,merge,patch,read,update,uread")
     private String resourcePath;
     @UriParam
+    @ApiParam(apiMethods = "batch,create,delete,merge,patch,read,update,uread")
     private org.apache.camel.component.olingo2.api.Olingo2ResponseHandler responseHandler;
 
     public Object getData() {
diff --git a/components/camel-olingo2/camel-olingo2-component/src/generated/resources/org/apache/camel/component/olingo2/olingo2.json b/components/camel-olingo2/camel-olingo2-component/src/generated/resources/org/apache/camel/component/olingo2/olingo2.json
index 1aaf1b4..bfa566a 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/generated/resources/org/apache/camel/component/olingo2/olingo2.json
+++ b/components/camel-olingo2/camel-olingo2-component/src/generated/resources/org/apache/camel/component/olingo2/olingo2.json
@@ -83,6 +83,6 @@
     "sslContextParameters": { "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.olingo2.Olingo2Configuration", "configurationField": "configuration", "description": "To configure security using SSLContextParameters" }
   },
   "apiProperties": {
-    "DEFAULT": { "data": { "kind": "parameter", "displayName": "Data", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "description": "" }, "edm": { "kind": "parameter", "displayName": "Edm", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.olingo.odata2.api.edm.Edm", "deprecated": false, "secret": false, "description": "" }, "endpointHttpHeaders": { "kin [...]
+    "DEFAULT": { "apiName": "DEFAULT", "methods": { "batch": { "apiMethodName": "batch", "description": "", "properties": { "responseHandler": { "kind": "parameter", "displayName": "Response Handler", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.olingo2.api.Olingo2ResponseHandler", "deprecated": false, "secret": false, "description": "" } } }, "create": { "apiMethodName": "create", "description": "", "properties": { "respons [...]
   }
 }
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index f78657a5..f89d532 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -148,35 +148,6 @@ with the following path and query parameters:
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 |===
-
-
-
-
-=== Query API Parameters (1 APIs):
-
-The Olingo2 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 apiName/methodName path parameters:
-
-----
-olingo2:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== DEFAULT
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *data* |  | Object
-| *edm* |  | Edm
-| *endpointHttpHeaders* |  | Map
-| *keyPredicate* |  | String
-| *queryParams* |  | Map
-| *resourcePath* |  | String
-| *responseHandler* |  | Olingo2ResponseHandler
-|===
 // endpoint options: END
 
 == Producer Endpoints
diff --git a/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/Olingo4AppEndpointConfiguration.java b/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/Olingo4AppEndpointConfiguration.java
index 46120f9..841e23a 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/Olingo4AppEndpointConfiguration.java
+++ b/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/Olingo4AppEndpointConfiguration.java
@@ -5,6 +5,8 @@
 package org.apache.camel.component.olingo4;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
+import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -12,23 +14,30 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for org.apache.camel.component.olingo4.api.Olingo4App
  */
-@ApiParams(apiName = "DEFAULT", apiMethods = "action,batch,create,delete,merge,patch,read,update,uread")
+@ApiParams(apiName = "DEFAULT", apiMethods = {@ApiMethod(methodName = "action"), @ApiMethod(methodName = "batch"), @ApiMethod(methodName = "create"), @ApiMethod(methodName = "delete"), @ApiMethod(methodName = "merge"), @ApiMethod(methodName = "patch"), @ApiMethod(methodName = "read"), @ApiMethod(methodName = "update"), @ApiMethod(methodName = "uread")})
 @UriParams
 @Configurer
 public final class Olingo4AppEndpointConfiguration extends Olingo4Configuration {
     @UriParam
+    @ApiParam(apiMethods = "action,batch,create,merge,patch,update")
     private Object data;
     @UriParam
+    @ApiParam(apiMethods = "action,batch,create,merge,patch,read,update,uread")
     private org.apache.olingo.commons.api.edm.Edm edm;
     @UriParam
+    @ApiParam(apiMethods = "action,batch,create,delete,merge,patch,read,update,uread")
     private java.util.Map<String,String> endpointHttpHeaders;
     @UriParam
+    @ApiParam(apiMethods = "")
     private String keyPredicate;
     @UriParam
+    @ApiParam(apiMethods = "read,uread")
     private java.util.Map<String,String> queryParams;
     @UriParam
+    @ApiParam(apiMethods = "action,create,delete,merge,patch,read,update,uread")
     private String resourcePath;
     @UriParam
+    @ApiParam(apiMethods = "action,batch,create,delete,merge,patch,read,update,uread")
     private org.apache.camel.component.olingo4.api.Olingo4ResponseHandler responseHandler;
 
     public Object getData() {
diff --git a/components/camel-olingo4/camel-olingo4-component/src/generated/resources/org/apache/camel/component/olingo4/olingo4.json b/components/camel-olingo4/camel-olingo4-component/src/generated/resources/org/apache/camel/component/olingo4/olingo4.json
index db8cb5a..919eb53 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/generated/resources/org/apache/camel/component/olingo4/olingo4.json
+++ b/components/camel-olingo4/camel-olingo4-component/src/generated/resources/org/apache/camel/component/olingo4/olingo4.json
@@ -79,6 +79,6 @@
     "sslContextParameters": { "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.olingo4.Olingo4Configuration", "configurationField": "configuration", "description": "To configure security using SSLContextParameters" }
   },
   "apiProperties": {
-    "DEFAULT": { "data": { "kind": "parameter", "displayName": "Data", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "description": "" }, "edm": { "kind": "parameter", "displayName": "Edm", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.olingo.commons.api.edm.Edm", "deprecated": false, "secret": false, "description": "" }, "endpointHttpHeaders": { "ki [...]
+    "DEFAULT": { "apiName": "DEFAULT", "methods": { "action": { "apiMethodName": "action", "description": "", "properties": { "responseHandler": { "kind": "parameter", "displayName": "Response Handler", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.olingo4.api.Olingo4ResponseHandler", "deprecated": false, "secret": false, "description": "" } } }, "batch": { "apiMethodName": "batch", "description": "", "properties": { "respons [...]
   }
 }
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
index f882ff0..651306a 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
@@ -145,35 +145,6 @@ with the following path and query parameters:
 | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
 | *sslContextParameters* (security) | To configure security using SSLContextParameters |  | SSLContextParameters
 |===
-
-
-
-
-=== Query API Parameters (1 APIs):
-
-The Olingo4 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 apiName/methodName path parameters:
-
-----
-olingo4:apiName/methodName
-----
-
-The following lists each API name and method and its additional parameters.
-
-
-==== DEFAULT
-
-[width="100%",cols="2,5,3",options="header"]
-|===
-| Name | Description | Type
-| *data* |  | Object
-| *edm* |  | Edm
-| *endpointHttpHeaders* |  | Map
-| *keyPredicate* |  | String
-| *queryParams* |  | Map
-| *resourcePath* |  | String
-| *responseHandler* |  | Olingo4ResponseHandler
-|===
 // endpoint options: END
 
 == Producer Endpoints
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AccountEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AccountEndpointConfiguration.java
index 48a3a0d..712d7dd 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AccountEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AccountEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.Account
  */
-@ApiParams(apiName = "account", apiMethods = "creator,fetcher,reader,updater")
+@ApiParams(apiName = "account", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class AccountEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressDependentPhoneNumberEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressDependentPhoneNumberEndpointConfiguration.java
index 8cd11d2..711051c 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressDependentPhoneNumberEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressDependentPhoneNumberEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.address.DependentPhoneNumber
  */
-@ApiParams(apiName = "address-dependent-phone-number", apiMethods = "reader")
+@ApiParams(apiName = "address-dependent-phone-number", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class AddressDependentPhoneNumberEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressEndpointConfiguration.java
index 9f3e2e2..a8be6a9 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AddressEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Address
  */
-@ApiParams(apiName = "address", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "address", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class AddressEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ApplicationEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ApplicationEndpointConfiguration.java
index 50aa787..0a9a64d 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ApplicationEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ApplicationEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Application
  */
-@ApiParams(apiName = "application", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "application", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class ApplicationEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryEndpointConfiguration.java
index 0f8e0fd..7039538 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountry
  */
-@ApiParams(apiName = "available-phone-number-country", apiMethods = "fetcher,reader")
+@ApiParams(apiName = "available-phone-number-country", apiMethods = {@ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class AvailablePhoneNumberCountryEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryLocalEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryLocalEndpointConfiguration.java
index e60f1ac..532ade9 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryLocalEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryLocalEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.availablephonenumbercountry.Local
  */
-@ApiParams(apiName = "available-phone-number-country-local", apiMethods = "reader")
+@ApiParams(apiName = "available-phone-number-country-local", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class AvailablePhoneNumberCountryLocalEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryMobileEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryMobileEndpointConfiguration.java
index 80fa024..4ca8465 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryMobileEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryMobileEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.availablephonenumbercountry.Mobile
  */
-@ApiParams(apiName = "available-phone-number-country-mobile", apiMethods = "reader")
+@ApiParams(apiName = "available-phone-number-country-mobile", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class AvailablePhoneNumberCountryMobileEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryTollFreeEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryTollFreeEndpointConfiguration.java
index 1876663..8afafcc 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryTollFreeEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/AvailablePhoneNumberCountryTollFreeEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFree
  */
-@ApiParams(apiName = "available-phone-number-country-toll-free", apiMethods = "reader")
+@ApiParams(apiName = "available-phone-number-country-toll-free", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class AvailablePhoneNumberCountryTollFreeEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallEndpointConfiguration.java
index a36e930..91e944c 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Call
  */
-@ApiParams(apiName = "call", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "call", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class CallEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackEndpointConfiguration.java
index 7ec8b588..cda9829 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.call.Feedback
  */
-@ApiParams(apiName = "call-feedback", apiMethods = "creator,fetcher,updater")
+@ApiParams(apiName = "call-feedback", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class CallFeedbackEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackSummaryEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackSummaryEndpointConfiguration.java
index 951c06d..666307b 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackSummaryEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallFeedbackSummaryEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.call.FeedbackSummary
  */
-@ApiParams(apiName = "call-feedback-summary", apiMethods = "creator,deleter,fetcher")
+@ApiParams(apiName = "call-feedback-summary", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher")})
 @UriParams
 @Configurer
 public final class CallFeedbackSummaryEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallNotificationEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallNotificationEndpointConfiguration.java
index ea63c27..5ba0100 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallNotificationEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallNotificationEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.call.Notification
  */
-@ApiParams(apiName = "call-notification", apiMethods = "fetcher,reader")
+@ApiParams(apiName = "call-notification", apiMethods = {@ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class CallNotificationEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallRecordingEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallRecordingEndpointConfiguration.java
index f9223e0..a33d5ce 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallRecordingEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/CallRecordingEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.call.Recording
  */
-@ApiParams(apiName = "call-recording", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "call-recording", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class CallRecordingEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceEndpointConfiguration.java
index d0459e8..2d297f8 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Conference
  */
-@ApiParams(apiName = "conference", apiMethods = "fetcher,reader,updater")
+@ApiParams(apiName = "conference", apiMethods = {@ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class ConferenceEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceParticipantEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceParticipantEndpointConfiguration.java
index 83f44cb..e0d0f0a 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceParticipantEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConferenceParticipantEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.conference.Participant
  */
-@ApiParams(apiName = "conference-participant", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "conference-participant", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class ConferenceParticipantEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConnectAppEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConnectAppEndpointConfiguration.java
index e25d13d..322922f 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConnectAppEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ConnectAppEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.ConnectApp
  */
-@ApiParams(apiName = "connect-app", apiMethods = "deleter,fetcher,reader,updater")
+@ApiParams(apiName = "connect-app", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class ConnectAppEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberEndpointConfiguration.java
index fb3a346..59bb5e2 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.IncomingPhoneNumber
  */
-@ApiParams(apiName = "incoming-phone-number", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "incoming-phone-number", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class IncomingPhoneNumberEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberLocalEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberLocalEndpointConfiguration.java
index 12acc3f..b39ab5b 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberLocalEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberLocalEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.incomingphonenumber.Local
  */
-@ApiParams(apiName = "incoming-phone-number-local", apiMethods = "creator,reader")
+@ApiParams(apiName = "incoming-phone-number-local", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class IncomingPhoneNumberLocalEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberMobileEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberMobileEndpointConfiguration.java
index 8de0367..ccef0a0 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberMobileEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberMobileEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.incomingphonenumber.Mobile
  */
-@ApiParams(apiName = "incoming-phone-number-mobile", apiMethods = "creator,reader")
+@ApiParams(apiName = "incoming-phone-number-mobile", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class IncomingPhoneNumberMobileEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberTollFreeEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberTollFreeEndpointConfiguration.java
index b60a175..b4e9d14 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberTollFreeEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/IncomingPhoneNumberTollFreeEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.incomingphonenumber.TollFree
  */
-@ApiParams(apiName = "incoming-phone-number-toll-free", apiMethods = "creator,reader")
+@ApiParams(apiName = "incoming-phone-number-toll-free", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class IncomingPhoneNumberTollFreeEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/KeyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/KeyEndpointConfiguration.java
index 0ce21f1..61fafa0 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/KeyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/KeyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Key
  */
-@ApiParams(apiName = "key", apiMethods = "deleter,fetcher,reader,updater")
+@ApiParams(apiName = "key", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class KeyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageEndpointConfiguration.java
index ca54e12..b03682c 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Message
  */
-@ApiParams(apiName = "message", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "message", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class MessageEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageFeedbackEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageFeedbackEndpointConfiguration.java
index 75cc304..37e3f30 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageFeedbackEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageFeedbackEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.message.Feedback
  */
-@ApiParams(apiName = "message-feedback", apiMethods = "creator")
+@ApiParams(apiName = "message-feedback", apiMethods = {@ApiMethod(methodName = "creator")})
 @UriParams
 @Configurer
 public final class MessageFeedbackEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageMediaEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageMediaEndpointConfiguration.java
index 915b74e..c8187d3 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageMediaEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/MessageMediaEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.message.Media
  */
-@ApiParams(apiName = "message-media", apiMethods = "deleter,fetcher,reader")
+@ApiParams(apiName = "message-media", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class MessageMediaEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewKeyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewKeyEndpointConfiguration.java
index 04ea6b2..da7aee3 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewKeyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewKeyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.NewKey
  */
-@ApiParams(apiName = "new-key", apiMethods = "creator")
+@ApiParams(apiName = "new-key", apiMethods = {@ApiMethod(methodName = "creator")})
 @UriParams
 @Configurer
 public final class NewKeyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewSigningKeyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewSigningKeyEndpointConfiguration.java
index b29afc0..459b5d5 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewSigningKeyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NewSigningKeyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.NewSigningKey
  */
-@ApiParams(apiName = "new-signing-key", apiMethods = "creator")
+@ApiParams(apiName = "new-signing-key", apiMethods = {@ApiMethod(methodName = "creator")})
 @UriParams
 @Configurer
 public final class NewSigningKeyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NotificationEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NotificationEndpointConfiguration.java
index 2381cac..646058a 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NotificationEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/NotificationEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Notification
  */
-@ApiParams(apiName = "notification", apiMethods = "fetcher,reader")
+@ApiParams(apiName = "notification", apiMethods = {@ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class NotificationEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/OutgoingCallerIdEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/OutgoingCallerIdEndpointConfiguration.java
index a16432b..648ff13 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/OutgoingCallerIdEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/OutgoingCallerIdEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.OutgoingCallerId
  */
-@ApiParams(apiName = "outgoing-caller-id", apiMethods = "deleter,fetcher,reader,updater")
+@ApiParams(apiName = "outgoing-caller-id", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class OutgoingCallerIdEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueEndpointConfiguration.java
index 7027e99..49b5c81 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Queue
  */
-@ApiParams(apiName = "queue", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "queue", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class QueueEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueMemberEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueMemberEndpointConfiguration.java
index e459d6d..9e5621e 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueMemberEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/QueueMemberEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.queue.Member
  */
-@ApiParams(apiName = "queue-member", apiMethods = "fetcher,reader,updater")
+@ApiParams(apiName = "queue-member", apiMethods = {@ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class QueueMemberEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultEndpointConfiguration.java
index ca32f6f..48ee1e5 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.recording.AddOnResult
  */
-@ApiParams(apiName = "recording-add-on-result", apiMethods = "deleter,fetcher,reader")
+@ApiParams(apiName = "recording-add-on-result", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class RecordingAddOnResultEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultPayloadEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultPayloadEndpointConfiguration.java
index 23e32c2..61a0c48 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultPayloadEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingAddOnResultPayloadEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.recording.addonresult.Payload
  */
-@ApiParams(apiName = "recording-add-on-result-payload", apiMethods = "deleter,fetcher,reader")
+@ApiParams(apiName = "recording-add-on-result-payload", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class RecordingAddOnResultPayloadEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingEndpointConfiguration.java
index 5c82fec..1f5379d 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Recording
  */
-@ApiParams(apiName = "recording", apiMethods = "deleter,fetcher,reader")
+@ApiParams(apiName = "recording", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class RecordingEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingTranscriptionEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingTranscriptionEndpointConfiguration.java
index e53d6cc..2a3e555 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingTranscriptionEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/RecordingTranscriptionEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.recording.Transcription
  */
-@ApiParams(apiName = "recording-transcription", apiMethods = "deleter,fetcher,reader")
+@ApiParams(apiName = "recording-transcription", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class RecordingTranscriptionEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ShortCodeEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ShortCodeEndpointConfiguration.java
index 3c257e3..db51635 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ShortCodeEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ShortCodeEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.ShortCode
  */
-@ApiParams(apiName = "short-code", apiMethods = "fetcher,reader,updater")
+@ApiParams(apiName = "short-code", apiMethods = {@ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class ShortCodeEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SigningKeyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SigningKeyEndpointConfiguration.java
index 799db2d..85b4910 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SigningKeyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SigningKeyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.SigningKey
  */
-@ApiParams(apiName = "signing-key", apiMethods = "deleter,fetcher,reader,updater")
+@ApiParams(apiName = "signing-key", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class SigningKeyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialEndpointConfiguration.java
index b203e07..9951058 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.credentiallist.Credential
  */
-@ApiParams(apiName = "sip-credential-list-credential", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "sip-credential-list-credential", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class SipCredentialEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialListEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialListEndpointConfiguration.java
index f28ab80..eeb6b0e 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialListEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipCredentialListEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.CredentialList
  */
-@ApiParams(apiName = "sip-credential-list", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "sip-credential-list", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class SipCredentialListEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainCredentialListMappingEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainCredentialListMappingEndpointConfiguration.java
index 349821825..c58311e 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainCredentialListMappingEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainCredentialListMappingEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.domain.CredentialListMapping
  */
-@ApiParams(apiName = "sip-domain-credential-list-mapping", apiMethods = "creator,deleter,fetcher,reader")
+@ApiParams(apiName = "sip-domain-credential-list-mapping", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class SipDomainCredentialListMappingEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainEndpointConfiguration.java
index b65f150..788418d 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.Domain
  */
-@ApiParams(apiName = "sip-domain", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "sip-domain", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class SipDomainEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainIpAccessControlListMappingEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainIpAccessControlListMappingEndpointConfiguration.java
index 4b85c98..c0d0728 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainIpAccessControlListMappingEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipDomainIpAccessControlListMappingEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMapping
  */
-@ApiParams(apiName = "sip-domain-ip-access-control-list-mapping", apiMethods = "creator,deleter,fetcher,reader")
+@ApiParams(apiName = "sip-domain-ip-access-control-list-mapping", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class SipDomainIpAccessControlListMappingEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListEndpointConfiguration.java
index 858bd74..ab9e591 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.IpAccessControlList
  */
-@ApiParams(apiName = "sip-ip-access-control-list", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "sip-ip-access-control-list", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class SipIpAccessControlListEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListIpAddressEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListIpAddressEndpointConfiguration.java
index 702ea0b..216347b 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListIpAddressEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/SipIpAccessControlListIpAddressEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddress
  */
-@ApiParams(apiName = "sip-ip-access-control-list-ip-address", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "sip-ip-access-control-list-ip-address", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class SipIpAccessControlListIpAddressEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TokenEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TokenEndpointConfiguration.java
index 8124f75..180c256 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TokenEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TokenEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Token
  */
-@ApiParams(apiName = "token", apiMethods = "creator")
+@ApiParams(apiName = "token", apiMethods = {@ApiMethod(methodName = "creator")})
 @UriParams
 @Configurer
 public final class TokenEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TranscriptionEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TranscriptionEndpointConfiguration.java
index ebb28da..f261e40 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TranscriptionEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/TranscriptionEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.Transcription
  */
-@ApiParams(apiName = "transcription", apiMethods = "deleter,fetcher,reader")
+@ApiParams(apiName = "transcription", apiMethods = {@ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class TranscriptionEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordAllTimeEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordAllTimeEndpointConfiguration.java
index b172689..6b7af30 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordAllTimeEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordAllTimeEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.AllTime
  */
-@ApiParams(apiName = "usage-record-all-time", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-all-time", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordAllTimeEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordDailyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordDailyEndpointConfiguration.java
index 8b50e38..7e76b1f 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordDailyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordDailyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.Daily
  */
-@ApiParams(apiName = "usage-record-daily", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-daily", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordDailyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordEndpointConfiguration.java
index 3fdefe9..e4cb01d 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.Record
  */
-@ApiParams(apiName = "usage-record", apiMethods = "reader")
+@ApiParams(apiName = "usage-record", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordLastMonthEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordLastMonthEndpointConfiguration.java
index 44f558e..646ef2e 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordLastMonthEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordLastMonthEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.LastMonth
  */
-@ApiParams(apiName = "usage-record-last-month", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-last-month", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordLastMonthEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordMonthlyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordMonthlyEndpointConfiguration.java
index 583cb59..48a4d98 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordMonthlyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordMonthlyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.Monthly
  */
-@ApiParams(apiName = "usage-record-monthly", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-monthly", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordMonthlyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordThisMonthEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordThisMonthEndpointConfiguration.java
index 43bd4b6..d92d485 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordThisMonthEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordThisMonthEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.ThisMonth
  */
-@ApiParams(apiName = "usage-record-this-month", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-this-month", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordThisMonthEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordTodayEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordTodayEndpointConfiguration.java
index e7be66b..3efc50ee 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordTodayEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordTodayEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.Today
  */
-@ApiParams(apiName = "usage-record-today", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-today", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordTodayEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYearlyEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYearlyEndpointConfiguration.java
index 289e5e7..41e6c78 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYearlyEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYearlyEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.Yearly
  */
-@ApiParams(apiName = "usage-record-yearly", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-yearly", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordYearlyEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYesterdayEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYesterdayEndpointConfiguration.java
index 818f40d..77d6d86 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYesterdayEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageRecordYesterdayEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.record.Yesterday
  */
-@ApiParams(apiName = "usage-record-yesterday", apiMethods = "reader")
+@ApiParams(apiName = "usage-record-yesterday", apiMethods = {@ApiMethod(methodName = "reader")})
 @UriParams
 @Configurer
 public final class UsageRecordYesterdayEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageTriggerEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageTriggerEndpointConfiguration.java
index ee5d99c..725fe5b 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageTriggerEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/UsageTriggerEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.usage.Trigger
  */
-@ApiParams(apiName = "usage-trigger", apiMethods = "creator,deleter,fetcher,reader,updater")
+@ApiParams(apiName = "usage-trigger", apiMethods = {@ApiMethod(methodName = "creator"), @ApiMethod(methodName = "deleter"), @ApiMethod(methodName = "fetcher"), @ApiMethod(methodName = "reader"), @ApiMethod(methodName = "updater")})
 @UriParams
 @Configurer
 public final class UsageTriggerEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ValidationRequestEndpointConfiguration.java b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ValidationRequestEndpointConfiguration.java
index e267b02..eeee575 100644
--- a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ValidationRequestEndpointConfiguration.java
+++ b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/ValidationRequestEndpointConfiguration.java
@@ -5,6 +5,7 @@
 package org.apache.camel.component.twilio;
 
 import org.apache.camel.spi.Configurer;
+import org.apache.camel.spi.ApiMethod;
 import org.apache.camel.spi.ApiParam;
 import org.apache.camel.spi.ApiParams;
 import org.apache.camel.spi.UriParam;
@@ -13,7 +14,7 @@ import org.apache.camel.spi.UriParams;
 /**
  * Camel EndpointConfiguration for com.twilio.rest.api.v2010.account.ValidationRequest
  */
-@ApiParams(apiName = "validation-request", apiMethods = "creator")
+@ApiParams(apiName = "validation-request", apiMethods = {@ApiMethod(methodName = "creator")})
 @UriParams
 @Configurer
 public final class ValidationRequestEndpointConfiguration extends TwilioConfiguration {
diff --git a/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json b/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
index 53052b2..f2078fd 100644
--- a/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
+++ b/components/camel-twilio/src/generated/resources/org/apache/camel/component/twilio/twilio.json
@@ -23,2638 +23,98 @@
     "lenientProperties": false
   },
   "componentProperties": {
-    "bridgeErrorHandler": {
-      "kind": "property",
-      "displayName": "Bridge Error Handler",
-      "group": "consumer",
-      "label": "consumer",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored."
-    },
-    "lazyStartProducer": {
-      "kind": "property",
-      "displayName": "Lazy Start Producer",
-      "group": "producer",
-      "label": "producer",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the [...]
-    },
-    "basicPropertyBinding": {
-      "kind": "property",
-      "displayName": "Basic Property Binding",
-      "group": "advanced",
-      "label": "advanced",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": true,
-      "secret": false,
-      "defaultValue": false,
-      "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities"
-    },
-    "configuration": {
-      "kind": "property",
-      "displayName": "Configuration",
-      "group": "advanced",
-      "label": "advanced",
-      "required": false,
-      "type": "object",
-      "javaType": "org.apache.camel.component.twilio.TwilioConfiguration",
-      "deprecated": false,
-      "secret": false,
-      "description": "To use the shared configuration"
-    },
-    "restClient": {
-      "kind": "property",
-      "displayName": "Rest Client",
-      "group": "advanced",
-      "label": "advanced",
-      "required": false,
-      "type": "object",
-      "javaType": "com.twilio.http.TwilioRestClient",
-      "deprecated": false,
-      "secret": false,
-      "description": "To use the shared REST client"
-    },
-    "accountSid": {
-      "kind": "property",
-      "displayName": "Account Sid",
-      "group": "security",
-      "label": "common,security",
-      "required": false,
-      "type": "string",
-      "javaType": "java.lang.String",
-      "deprecated": false,
-      "secret": true,
-      "description": "The account SID to use."
-    },
-    "password": {
-      "kind": "property",
-      "displayName": "Password",
-      "group": "security",
-      "label": "common,security",
-      "required": false,
-      "type": "string",
-      "javaType": "java.lang.String",
-      "deprecated": false,
-      "secret": true,
-      "description": "Auth token for the account."
-    },
-    "username": {
-      "kind": "property",
-      "displayName": "Username",
-      "group": "security",
-      "label": "common,security",
-      "required": false,
-      "type": "string",
-      "javaType": "java.lang.String",
-      "deprecated": false,
-      "secret": true,
-      "description": "The account to use."
-    }
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by [...]
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the r [...]
+    "basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+    "configuration": { "kind": "property", "displayName": "Configuration", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.twilio.TwilioConfiguration", "deprecated": false, "secret": false, "description": "To use the shared configuration" },
+    "restClient": { "kind": "property", "displayName": "Rest Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.twilio.http.TwilioRestClient", "deprecated": false, "secret": false, "description": "To use the shared REST client" },
+    "accountSid": { "kind": "property", "displayName": "Account Sid", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "The account SID to use." },
+    "password": { "kind": "property", "displayName": "Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "Auth token for the account." },
+    "username": { "kind": "property", "displayName": "Username", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "The account to use." }
   },
   "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",
-        "TRANSCRIPTION",
-        "VALIDATION_REQUEST",
-        "ADDRESS_DEPENDENT_PHONE_NUMBER",
-        "AVAILABLE_PHONE_NUMBER_COUNTRY_LOCAL",
-        "AVAILABLE_PHONE_NUMBER_COUNTRY_MOBILE",
-        "AVAILABLE_PHONE_NUMBER_COUNTRY_TOLL_FREE",
-        "CALL_FEEDBACK",
-        "CALL_FEEDBACK_SUMMARY",
-        "CALL_NOTIFICATION",
-        "CALL_RECORDING",
-        "CONFERENCE_PARTICIPANT",
-        "INCOMING_PHONE_NUMBER_LOCAL",
-        "INCOMING_PHONE_NUMBER_MOBILE",
-        "INCOMING_PHONE_NUMBER_TOLL_FREE",
-        "MESSAGE_FEEDBACK",
-        "MESSAGE_MEDIA",
-        "QUEUE_MEMBER",
-        "RECORDING_ADD_ON_RESULT",
-        "RECORDING_TRANSCRIPTION",
-        "RECORDING_ADD_ON_RESULT_PAYLOAD",
-        "SIP_CREDENTIAL_LIST",
-        "SIP_DOMAIN",
-        "SIP_IP_ACCESS_CONTROL_LIST",
-        "SIP_CREDENTIAL_LIST_CREDENTIAL",
-        "SIP_DOMAIN_CREDENTIAL_LIST_MAPPING",
-        "SIP_DOMAIN_IP_ACCESS_CONTROL_LIST_MAPPING",
-        "SIP_IP_ACCESS_CONTROL_LIST_IP_ADDRESS",
-        "USAGE_RECORD",
-        "USAGE_TRIGGER",
-        "USAGE_RECORD_ALL_TIME",
-        "USAGE_RECORD_DAILY",
-        "USAGE_RECORD_LAST_MONTH",
-        "USAGE_RECORD_MONTHLY",
-        "USAGE_RECORD_THIS_MONTH",
-        "USAGE_RECORD_TODAY",
-        "USAGE_RECORD_YEARLY",
-        "USAGE_RECORD_YESTERDAY"
-      ],
-      "deprecated": false,
-      "deprecationNote": "",
-      "secret": false,
-      "configurationClass": "org.apache.camel.component.twilio.TwilioConfiguration",
-      "configurationField": "configuration",
-      "description": "What kind of operation to perform"
-    },
-    "methodName": {
-      "kind": "path",
-      "displayName": "Method Name",
-      "group": "common",
-      "label": "",
-      "required": true,
-      "type": "string",
-      "javaType": "java.lang.String",
-      "enum": [
-        "create",
-        "delete",
-        "fetch",
-        "read",
-        "update"
-      ],
-      "deprecated": false,
-      "deprecationNote": "",
-      "secret": false,
-      "configurationClass": "org.apache.camel.component.twilio.TwilioConfiguration",
-      "configurationField": "configuration",
-      "description": "What sub operation to use for the selected operation"
-    },
-    "inBody": {
-      "kind": "parameter",
-      "displayName": "In Body",
-      "group": "common",
-      "label": "",
-      "required": false,
-      "type": "string",
-      "javaType": "java.lang.String",
-      "deprecated": false,
-      "secret": false,
-      "description": "Sets the name of a parameter to be passed in the exchange In Body"
-    },
-    "bridgeErrorHandler": {
-      "kind": "parameter",
-      "displayName": "Bridge Error Handler",
-      "group": "consumer",
-      "label": "consumer",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored."
-    },
-    "sendEmptyMessageWhenIdle": {
-      "kind": "parameter",
-      "displayName": "Send Empty Message When Idle",
-      "group": "consumer",
-      "label": "consumer",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead."
-    },
-    "exceptionHandler": {
-      "kind": "parameter",
-      "displayName": "Exception Handler",
-      "group": "consumer (advanced)",
-      "label": "consumer,advanced",
-      "required": false,
-      "type": "object",
-      "javaType": "org.apache.camel.spi.ExceptionHandler",
-      "optionalPrefix": "consumer.",
-      "deprecated": false,
-      "secret": false,
-      "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored."
-    },
-    "exchangePattern": {
-      "kind": "parameter",
-      "displayName": "Exchange Pattern",
-      "group": "consumer (advanced)",
-      "label": "consumer,advanced",
-      "required": false,
-      "type": "object",
-      "javaType": "org.apache.camel.ExchangePattern",
-      "enum": [
-        "InOnly",
-        "InOut",
-        "InOptionalOut"
-      ],
-      "deprecated": false,
-      "secret": false,
-      "description": "Sets the exchange pattern when the consumer creates an exchange."
-    },
-    "pollStrategy": {
-      "kind": "parameter",
-      "displayName": "Poll Strategy",
-      "group": "consumer (advanced)",
-      "label": "consumer,advanced",
-      "required": false,
-      "type": "object",
-      "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy",
-      "deprecated": false,
-      "secret": false,
-      "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel."
-    },
-    "lazyStartProducer": {
-      "kind": "parameter",
-      "displayName": "Lazy Start Producer",
-      "group": "producer",
-      "label": "producer",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the [...]
-    },
-    "basicPropertyBinding": {
-      "kind": "parameter",
-      "displayName": "Basic Property Binding",
-      "group": "advanced",
-      "label": "advanced",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities"
-    },
-    "synchronous": {
-      "kind": "parameter",
-      "displayName": "Synchronous",
-      "group": "advanced",
-      "label": "advanced",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "false",
-      "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)."
-    },
-    "backoffErrorThreshold": {
-      "kind": "parameter",
-      "displayName": "Backoff Error Threshold",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "integer",
-      "javaType": "int",
-      "deprecated": false,
-      "secret": false,
-      "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in."
-    },
-    "backoffIdleThreshold": {
-      "kind": "parameter",
-      "displayName": "Backoff Idle Threshold",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "integer",
-      "javaType": "int",
-      "deprecated": false,
-      "secret": false,
-      "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in."
-    },
-    "backoffMultiplier": {
-      "kind": "parameter",
-      "displayName": "Backoff Multiplier",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "integer",
-      "javaType": "int",
-      "deprecated": false,
-      "secret": false,
-      "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and\/or backoffErrorThreshold must also be configured."
-    },
-    "delay": {
-      "kind": "parameter",
-      "displayName": "Delay",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "integer",
-      "javaType": "long",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "500",
-      "description": "Milliseconds before the next poll."
-    },
-    "greedy": {
-      "kind": "parameter",
-      "displayName": "Greedy",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": false,
-      "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages."
-    },
-    "initialDelay": {
-      "kind": "parameter",
-      "displayName": "Initial Delay",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "integer",
-      "javaType": "long",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "1000",
-      "description": "Milliseconds before the first poll starts."
-    },
-    "repeatCount": {
-      "kind": "parameter",
-      "displayName": "Repeat Count",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "integer",
-      "javaType": "long",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "0",
-      "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever."
-    },
-    "runLoggingLevel": {
-      "kind": "parameter",
-      "displayName": "Run Logging Level",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "object",
-      "javaType": "org.apache.camel.LoggingLevel",
-      "enum": [
-        "TRACE",
-        "DEBUG",
-        "INFO",
-        "WARN",
-        "ERROR",
-        "OFF"
-      ],
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "TRACE",
-      "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the logging level for that."
-    },
-    "scheduledExecutorService": {
-      "kind": "parameter",
-      "displayName": "Scheduled Executor Service",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "object",
-      "javaType": "java.util.concurrent.ScheduledExecutorService",
-      "deprecated": false,
-      "secret": false,
-      "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool."
-    },
-    "scheduler": {
-      "kind": "parameter",
-      "displayName": "Scheduler",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "object",
-      "javaType": "java.lang.Object",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "none",
-      "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler"
-    },
-    "schedulerProperties": {
-      "kind": "parameter",
-      "displayName": "Scheduler Properties",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "object",
-      "javaType": "java.util.Map<java.lang.String, java.lang.Object>",
-      "prefix": "scheduler.",
-      "multiValue": true,
-      "deprecated": false,
-      "secret": false,
-      "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler."
-    },
-    "startScheduler": {
-      "kind": "parameter",
-      "displayName": "Start Scheduler",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "true",
-      "description": "Whether the scheduler should be auto started."
-    },
-    "timeUnit": {
-      "kind": "parameter",
-      "displayName": "Time Unit",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "object",
-      "javaType": "java.util.concurrent.TimeUnit",
-      "enum": [
-        "NANOSECONDS",
-        "MICROSECONDS",
-        "MILLISECONDS",
-        "SECONDS",
-        "MINUTES",
-        "HOURS",
-        "DAYS"
-      ],
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "MILLISECONDS",
-      "description": "Time unit for initialDelay and delay options."
-    },
-    "useFixedDelay": {
-      "kind": "parameter",
-      "displayName": "Use Fixed Delay",
-      "group": "scheduler",
-      "label": "consumer,scheduler",
-      "required": false,
-      "type": "boolean",
-      "javaType": "boolean",
-      "deprecated": false,
-      "secret": false,
-      "defaultValue": "true",
-      "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details."
-    }
+    "apiName": { "kind": "path", "displayName": "Api Name", "group": "common", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.twilio.internal.TwilioApiName", "enum": [ "ACCOUNT", "ADDRESS", "APPLICATION", "AVAILABLE_PHONE_NUMBER_COUNTRY", "CALL", "CONFERENCE", "CONNECT_APP", "INCOMING_PHONE_NUMBER", "KEY", "MESSAGE", "NEW_KEY", "NEW_SIGNING_KEY", "NOTIFICATION", "OUTGOING_CALLER_ID", "QUEUE", "RECORDING", "SHORT_CODE", "SIGNING_KEY", "TOKEN", "TR [...]
+    "methodName": { "kind": "path", "displayName": "Method Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "create", "delete", "fetch", "read", "update" ], "deprecated": false, "deprecationNote": "", "secret": false, "configurationClass": "org.apache.camel.component.twilio.TwilioConfiguration", "configurationField": "configuration", "description": "What sub operation to use for the selected operation" },
+    "inBody": { "kind": "parameter", "displayName": "In Body", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Sets the name of a parameter to be passed in the exchange In Body" },
+    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled b [...]
+    "sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send Empty Message When Idle", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead." },
+    "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with [...]
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
+    "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange h [...]
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the  [...]
+    "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
+    "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
+    "backoffErrorThreshold": { "kind": "parameter", "displayName": "Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in." },
+    "backoffIdleThreshold": { "kind": "parameter", "displayName": "Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in." },
+    "backoffMultiplier": { "kind": "parameter", "displayName": "Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option  [...]
+    "delay": { "kind": "parameter", "displayName": "Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": "500", "description": "Milliseconds before the next poll." },
+    "greedy": { "kind": "parameter", "displayName": "Greedy", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages." },
+    "initialDelay": { "kind": "parameter", "displayName": "Initial Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": "1000", "description": "Milliseconds before the first poll starts." },
+    "repeatCount": { "kind": "parameter", "displayName": "Repeat Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": "0", "description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever." },
+    "runLoggingLevel": { "kind": "parameter", "displayName": "Run Logging Level", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "secret": false, "defaultValue": "TRACE", "description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the logging level for that." },
+    "scheduledExecutorService": { "kind": "parameter", "displayName": "Scheduled Executor Service", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.ScheduledExecutorService", "deprecated": false, "secret": false, "description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool." },
+    "scheduler": { "kind": "parameter", "displayName": "Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "defaultValue": "none", "description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler" },
+    "schedulerProperties": { "kind": "parameter", "displayName": "Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", "multiValue": true, "deprecated": false, "secret": false, "description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler." },
+    "startScheduler": { "kind": "parameter", "displayName": "Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Whether the scheduler should be auto started." },
+    "timeUnit": { "kind": "parameter", "displayName": "Time Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "secret": false, "defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and delay options." },
+    "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apiProperties": {
-    "recording-add-on-result-payload": {
-      "apiName": "recording-add-on-result-payload",
-      "methods": {
-        "deleter": {
-          "apiMethodName": "deleter",
-          "description": "The unique string that identifies the resource",
-          "properties": {
-            "pathSid": {
-              "kind": "parameter",
-              "displayName": "Path Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        },
-        "fetcher": {
-          "apiMethodName": "fetcher",
-          "description": "The unique string that identifies the resource",
-          "properties": {
-            "pathSid": {
-              "kind": "parameter",
-              "displayName": "Path Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "usage-record-today": {
-      "apiName": "usage-record-today",
-      "methods": {
-        "reader": {
-          "apiMethodName": "reader",
-          "description": "The SID of the Account that created the resources to read",
-          "properties": {
-            "pathAccountSid": {
-              "kind": "parameter",
-              "displayName": "Path Account Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "available-phone-number-country-local": {
-      "apiName": "available-phone-number-country-local",
-      "methods": {
-        "reader": {
-          "apiMethodName": "reader",
-          "description": "The ISO Country code of the country from which to read phone numbers",
-          "properties": {
-            "pathCountryCode": {
-              "kind": "parameter",
-              "displayName": "Path Country Code",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "call-recording": {
-      "apiName": "call-recording",
-      "methods": {
-        "updater": {
-          "apiMethodName": "updater",
-          "description": "The new status of the recording",
-          "properties": {
-            "status": {
-              "kind": "parameter",
-              "displayName": "Status",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "object",
-              "javaType": "com.twilio.rest.api.v2010.account.call.Recording.Status",
-              "enum": [
-                "in-progress",
-                "paused",
-                "stopped",
-                "processing",
-                "completed",
-                "absent"
-              ],
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "queue-member": {
-      "apiName": "queue-member",
-      "methods": {
-        "updater": {
-          "apiMethodName": "updater",
-          "description": "The absolute URL of the Queue resource",
-          "properties": {
-            "url": {
-              "kind": "parameter",
-              "displayName": "Url",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.net.URI",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "usage-trigger": {
-      "apiName": "usage-trigger",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "The usage category the trigger watches",
-          "properties": {
-            "usageCategory": {
-              "kind": "parameter",
-              "displayName": "Usage Category",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "object",
-              "javaType": "com.twilio.rest.api.v2010.account.usage.Trigger.UsageCategory",
-              "enum": [
-                "agent-conference",
-                "answering-machine-detection",
-                "authy-authentications",
-                "authy-calls-outbound",
-                "authy-monthly-fees",
-                "authy-phone-intelligence",
-                "authy-phone-verifications",
-                "authy-sms-outbound",
-                "call-progess-events",
-                "calleridlookups",
-                "calls",
-                "calls-client",
-                "calls-globalconference",
-                "calls-inbound",
-                "calls-inbound-local",
-                "calls-inbound-mobile",
-                "calls-inbound-tollfree",
-                "calls-outbound",
-                "calls-pay-verb-transactions",
-                "calls-recordings",
-                "calls-sip",
-                "calls-sip-inbound",
-                "calls-sip-outbound",
-                "carrier-lookups",
-                "conversations",
-                "conversations-api-requests",
-                "conversations-conversation-events",
-                "conversations-endpoint-connectivity",
-                "conversations-events",
-                "conversations-participant-events",
-                "conversations-participants",
-                "cps",
-                "fraud-lookups",
-                "group-rooms",
-                "group-rooms-data-track",
-                "group-rooms-encrypted-media-recorded",
-                "group-rooms-media-downloaded",
-                "group-rooms-media-recorded",
-                "group-rooms-media-routed",
-                "group-rooms-media-stored",
-                "group-rooms-participant-minutes",
-                "group-rooms-recorded-minutes",
-                "ip-messaging",
-                "ip-messaging-commands",
-                "ip-messaging-data-storage",
-                "ip-messaging-data-transfer",
-                "ip-messaging-endpoint-connectivity",
-                "lookups",
-                "marketplace",
-                "marketplace-algorithmia-named-entity-recognition",
-                "marketplace-cadence-transcription",
-                "marketplace-cadence-translation",
-                "marketplace-capio-speech-to-text",
-                "marketplace-convriza-ababa",
-                "marketplace-deepgram-phrase-detector",
-                "marketplace-digital-segment-business-info",
-                "marketplace-facebook-offline-conversions",
-                "marketplace-google-speech-to-text",
-                "marketplace-ibm-watson-message-insights",
-                "marketplace-ibm-watson-message-sentiment",
-                "marketplace-ibm-watson-recording-analysis",
-                "marketplace-ibm-watson-tone-analyzer",
-                "marketplace-icehook-systems-scout",
-                "marketplace-infogroup-dataaxle-bizinfo",
-                "marketplace-keen-io-contact-center-analytics",
-                "marketplace-marchex-cleancall",
-                "marketplace-marchex-sentiment-analysis-for-sms",
-                "marketplace-marketplace-nextcaller-social-id",
-                "marketplace-mobile-commons-opt-out-classifier",
-                "marketplace-nexiwave-voicemail-to-text",
-                "marketplace-nextcaller-advanced-caller-identification",
-                "marketplace-nomorobo-spam-score",
-                "marketplace-payfone-tcpa-compliance",
-                "marketplace-remeeting-automatic-speech-recognition",
-                "marketplace-tcpa-defense-solutions-blacklist-feed",
-                "marketplace-telo-opencnam",
-                "marketplace-truecnam-true-spam",
-                "marketplace-twilio-caller-name-lookup-us",
-                "marketplace-twilio-carrier-information-lookup",
-                "marketplace-voicebase-pci",
-                "marketplace-voicebase-transcription",
-                "marketplace-voicebase-transcription-custom-vocabulary",
-                "marketplace-whitepages-pro-caller-identification",
-                "marketplace-whitepages-pro-phone-intelligence",
-                "marketplace-whitepages-pro-phone-reputation",
-                "marketplace-wolfarm-spoken-results",
-                "marketplace-wolfram-short-answer",
-                "marketplace-ytica-contact-center-reporting-analytics",
-                "mediastorage",
-                "mms",
-                "mms-inbound",
-                "mms-inbound-longcode",
-                "mms-inbound-shortcode",
-                "mms-messages-carrierfees",
-                "mms-outbound",
-                "mms-outbound-longcode",
-                "mms-outbound-shortcode",
-                "monitor-reads",
-                "monitor-storage",
-                "monitor-writes",
-                "notify",
-                "notify-actions-attempts",
-                "notify-channels",
-                "number-format-lookups",
-                "pchat",
-                "pchat-actions",
-                "pchat-aps",
-                "pchat-messages",
-                "pchat-notifications",
-                "pchat-reads",
-                "pchat-users",
-                "peer-to-peer-rooms-participant-minutes",
-                "pfax",
-                "pfax-minutes",
-                "pfax-minutes-inbound",
-                "pfax-minutes-outbound",
-                "pfax-pages",
-                "phonenumbers",
-                "phonenumbers-cps",
-                "phonenumbers-emergency",
-                "phonenumbers-local",
-                "phonenumbers-mobile",
-                "phonenumbers-setups",
-                "phonenumbers-tollfree",
-                "premiumsupport",
-                "proxy",
-                "proxy-active-sessions",
-                "pstnconnectivity",
-                "pv",
-                "pv-composition-media-downloaded",
-                "pv-composition-media-encrypted",
-                "pv-composition-media-stored",
-                "pv-composition-minutes",
-                "pv-recording-compositions",
-                "pv-room-participants",
-                "pv-room-participants-au1",
-                "pv-room-participants-br1",
-                "pv-room-participants-ie1",
-                "pv-room-participants-jp1",
-                "pv-room-participants-sg1",
-                "pv-room-participants-us1",
-                "pv-room-participants-us2",
-                "pv-rooms",
-                "pv-sip-endpoint-registrations",
-                "recordings",
-                "recordingstorage",
-                "rooms-group-bandwidth",
-                "rooms-group-minutes",
-                "rooms-peer-to-peer-minutes",
-                "shortcodes",
-                "shortcodes-customerowned",
-                "shortcodes-mms-enablement",
-                "shortcodes-mps",
-                "shortcodes-random",
-                "shortcodes-uk",
-                "shortcodes-vanity",
-                "small-group-rooms",
-                "small-group-rooms-data-track",
-                "small-group-rooms-participant-minutes",
-                "sms",
-                "sms-inbound",
-                "sms-inbound-longcode",
-                "sms-inbound-shortcode",
-                "sms-messages-carrierfees",
-                "sms-messages-features",
-                "sms-messages-features-senderid",
-                "sms-outbound",
-                "sms-outbound-content-inspection",
-                "sms-outbound-longcode",
-                "sms-outbound-shortcode",
-                "speech-recognition",
-                "studio-engagements",
-                "sync",
-                "sync-actions",
-                "sync-endpoint-hours",
-                "sync-endpoint-hours-above-daily-cap",
-                "taskrouter-tasks",
-                "totalprice",
-                "transcriptions",
-                "trunking-cps",
-                "trunking-emergency-calls",
-                "trunking-origination",
-                "trunking-origination-local",
-                "trunking-origination-mobile",
-                "trunking-origination-tollfree",
-                "trunking-recordings",
-                "trunking-secure",
-                "trunking-termination",
-                "turnmegabytes",
-                "turnmegabytes-australia",
-                "turnmegabytes-brasil",
-                "turnmegabytes-germany",
-                "turnmegabytes-india",
-                "turnmegabytes-ireland",
-                "turnmegabytes-japan",
-                "turnmegabytes-singapore",
-                "turnmegabytes-useast",
-                "turnmegabytes-uswest",
-                "twilio-interconnect",
-                "video-recordings",
-                "voice-insights",
-                "voice-insights-client-insights-on-demand-minute",
-                "voice-insights-ptsn-insights-on-demand-minute",
-                "voice-insights-sip-interface-insights-on-demand-minute",
-                "voice-insights-sip-trunking-insights-on-demand-minute",
-                "wireless",
-                "wireless-orders",
-                "wireless-orders-artwork",
-                "wireless-orders-bulk",
-                "wireless-orders-esim",
-                "wireless-orders-starter",
-                "wireless-usage",
-                "wireless-usage-commands",
-                "wireless-usage-commands-africa",
-                "wireless-usage-commands-asia",
-                "wireless-usage-commands-centralandsouthamerica",
-                "wireless-usage-commands-europe",
-                "wireless-usage-commands-home",
-                "wireless-usage-commands-northamerica",
-                "wireless-usage-commands-oceania",
-                "wireless-usage-commands-roaming",
-                "wireless-usage-data",
-                "wireless-usage-data-africa",
-                "wireless-usage-data-asia",
-                "wireless-usage-data-centralandsouthamerica",
-                "wireless-usage-data-custom-additionalmb",
-                "wireless-usage-data-custom-first5mb",
-                "wireless-usage-data-domestic-roaming",
-                "wireless-usage-data-europe",
-                "wireless-usage-data-individual-additionalgb",
-                "wireless-usage-data-individual-firstgb",
-                "wireless-usage-data-international-roaming-canada",
-                "wireless-usage-data-international-roaming-india",
-                "wireless-usage-data-international-roaming-mexico",
-                "wireless-usage-data-northamerica",
-                "wireless-usage-data-oceania",
-                "wireless-usage-data-pooled",
-                "wireless-usage-data-pooled-downlink",
-                "wireless-usage-data-pooled-uplink",
-                "wireless-usage-mrc",
-                "wireless-usage-mrc-custom",
-                "wireless-usage-mrc-individual",
-                "wireless-usage-mrc-pooled",
-                "wireless-usage-mrc-suspended",
-                "wireless-usage-sms",
-                "wireless-usage-voice"
-              ],
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "usage-record-last-month": {
-      "apiName": "usage-record-last-month",
-      "methods": {
-        "reader": {
-          "apiMethodName": "reader",
-          "description": "The SID of the Account that created the resources to read",
-          "properties": {
-            "pathAccountSid": {
-              "kind": "parameter",
-              "displayName": "Path Account Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "usage-record-all-time": {
-      "apiName": "usage-record-all-time",
-      "methods": {
-        "reader": {
-          "apiMethodName": "reader",
-          "description": "The SID of the Account that created the resources to read",
-          "properties": {
-            "pathAccountSid": {
-              "kind": "parameter",
-              "displayName": "Path Account Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "recording-transcription": {
-      "apiName": "recording-transcription",
-      "methods": {
-        "deleter": {
-          "apiMethodName": "deleter",
-          "description": "The unique string that identifies the resource",
-          "properties": {
-            "pathSid": {
-              "kind": "parameter",
-              "displayName": "Path Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        },
-        "fetcher": {
-          "apiMethodName": "fetcher",
-          "description": "The unique string that identifies the resource",
-          "properties": {
-            "pathSid": {
-              "kind": "parameter",
-              "displayName": "Path Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "message": {
-      "apiName": "message",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "The destination phone number",
-          "properties": {
-            "to": {
-              "kind": "parameter",
-              "displayName": "To",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "object",
-              "javaType": "com.twilio.type.PhoneNumber",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "call-feedback-summary": {
-      "apiName": "call-feedback-summary",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "Only include feedback given on or after this date",
-          "properties": {
-            "startDate": {
-              "kind": "parameter",
-              "displayName": "Start Date",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "object",
-              "javaType": "org.joda.time.LocalDate",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "sip-credential-list-credential": {
-      "apiName": "sip-credential-list-credential",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "The username for this credential",
-          "properties": {
-            "username": {
-              "kind": "parameter",
-              "displayName": "Username",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "new-key": {
-      "apiName": "new-key",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "The SID of the Account that will be responsible for the new Key resource",
-          "properties": {
-            "pathAccountSid": {
-              "kind": "parameter",
-              "displayName": "Path Account Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "incoming-phone-number": {
-      "apiName": "incoming-phone-number",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "The phone number to purchase in E.164 format",
-          "properties": {
-            "phoneNumber": {
-              "kind": "parameter",
-              "displayName": "Phone Number",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "object",
-              "javaType": "com.twilio.type.PhoneNumber",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "call-notification": {
-      "apiName": "call-notification",
-      "methods": {
-        "fetcher": {
-          "apiMethodName": "fetcher",
-          "description": "The unique string that identifies the resource",
-          "properties": {
-            "pathSid": {
-              "kind": "parameter",
-              "displayName": "Path Sid",
-              "group": "common",
-              "label": "",
-              "required": false,
-              "type": "string",
-              "javaType": "java.lang.String",
-              "deprecated": false,
-              "secret": false,
-              "description": ""
-            }
-          }
-        }
-      }
-    },
-    "validation-request": {
-      "apiName": "validation-request",
-      "methods": {
-        "creator": {
-          "apiMethodName": "creator",
-          "description": "The phone number to verify in E.164 format",
-          "properties": {
-            "phoneNumber": {
-              "kind": "parameter",
-              "displayName": "Phone Number",
-              "group": "common",
-              "label": "",
... 4506 lines suppressed ...